设为首页 收藏本站
查看: 2080|回复: 0

搭建LNMP网站服务平台

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-21 09:55:48 | 显示全部楼层 |阅读模式
一、安装及运行控制Nginx
1.编译安装Nginx
wKiom1hY_AfzfwcNAAACkJAH2yo056.jpg
Ngin的配置及运行需要pcre、zlib的软件包的支持,因此预先安装这些软件的开发包。

wKioL1hY_AjQtYJVAAACnRedpa0514.jpg
为Nginx创建专门的用户和组(默认是以nobody身份运行的)

wKiom1hY_Ajzm4ytAAAGWEGJOvE351.jpg
编译安装Nginx
选项”--with-http_stub_status_module”:表示启用该模块以支持状态统计。

wKiom1hY_AjTlNnEAAAJ9E9VraM317.jpg
为主程序nginx创建链接文件,优化执行路径。

2.Nginx的运行控制
wKioL1hY_AmjoPDNAAAHH8KeBUg263.jpg
配合选项”-t”检查配置文件(配置文件nginx.conf默认位于安装目录下的conf/子目录中,若要检查位于其他位置的配置文件,可以结合”-c”选项来指定路径。)

wKiom1hY_AmDR9CjAAABohZsfaM309.jpg
直接运行nginx即可启动Nginx服务器(这种方式使用默认的配置文件,若要改用其他配置文件,同样需要结合”-c”选项。)
注意:若服务器中已装有其他web服务软件,应采取措施(修改端口、停用或卸载)避免冲突。

wKioL1hY_AnDcb5AAAAFCv3ZJMw935.jpg
检查监听状态,确认Nginx服务是否正常运行

主程序nginx支持标准的进程信号:
killall -s HUP nginx        //重载nginx配置
killall -s QUIT nginx       //退出nginx进程
killall -s KILL nginx       //杀死进程
或者
kill $(cat /usr/local/nginx/logs/nginx.pid)

使用脚本来进行启动、停止、重载等操作更加方便:
wKiom1hY_Anw4kxJAAACdySyaSQ924.jpg
wKioL1hY_ArgO8kBAAAbUkJ1cDk335.jpg
wKioL1hY_ArBpu0KAAAXaYHfKqQ982.jpg
wKiom1hY_ODCmHNaAAAPvX72pE4036.jpg

wKioL1hY_OCxi_YhAAACgL53UqY139.jpg
赋予脚本执行权限

wKioL1hY_ODhSEkNAAACQCqoD8M088.jpg
添加nginx系统服务

3.配置文件nginx.conf
主配置文件/usr/local/nginx/conf/nginx.conf中包括全局配置、I/O事件配置、HTTP配置三块内容,配置语句格式为“关键字  值;”(末尾以分号结束)。
(1)全局配置
不使用特定的界定标志,包括常用的设置如下:
user nginx;//运行用户
worker_processes 1;            //工作进程数量
error_log  logs/error.log;     //错误日志文件位置
pid  logs/nginx.pid;           //PID文件的位置

(2)I/O事件配置
使用”events {}”界定标记,用来指定Nginx进程的I/O响应模型、每个进程的连接数等设置等,如下:
events {
use epoll;                //使用epoll模型,提高性能。
worker_connections 4096;  //每个进程处理4096个连接(默认为1024)
}
(3)HTTP配置
使用”http {}”界定标记,在HTTP配置中还存在一种子界定标记”server {}”,是用来指定虚拟Web站点的配置,常用的设置如下:
http {
……
access_loglogs/access.log  main;    //访问日志位置
sendfileon;                         //支持文件发送(下载)
keepalive_timeout65;//连接保持超时,即超过指定时间后会释放该链接。(当在后台需要上传较大的文件时,可以暂时增大该数值,之后一定要将其恢复原值,否则连接容易达到上限,导致服务器出现故障。)
server{//虚拟web主机配置
listen80;                        //监听地址即端口
server_namewww.benet.com;        //网站名称(FQDN)
charsetutf-8;                    //网页默认字符集
location / {                     //根目录配置
root/var/www/html;           //网站根目录的位置
indexindex.htmlindex.php;    //默认首页
}
error_page500502503504/50x.html;    //内部错误的反馈页面
location  =  /50.html{              //错误页面配置
roothtml;
}
location /status {                //设置访问状态统计
stub_statuson;                //打开状态统计功能
access_logoff;                //关闭此位置的日志记录
}
}
}

这里为了方便验证,创建了一个简单的网页,修改/etc/hosts文件指定域名的IP地址,并修改/etc/resolv.conf指定首选DNS为本机。
wKiom1hY_OGDRkefAAAKIVH_XZI435.jpg
创建网页

wKioL1hY_OGx1qyqAAAGhDBHLLM168.jpg
wKiom1hY_OLTmSQDAAAMPpJyPlo936.jpg
添加hosts记录

wKioL1hY_OKzLXonAAAHKVSBwgc907.jpg
wKiom1hY_OLAUqcEAAAEePIEu7I102.jpg
设置DNS服务器地址

wKioL1hY_OOBQJmTAAAKlhqi4R8330.jpg
重启nginx服务

wKiom1hY_OORlgnCAAAWV3mSN34058.jpg
使用域名访问网站成功

wKioL1hY_fHhAazgAAAZKlfqjZs828.jpg
查看网站的访问情况,
“Active connections”表示当前的活动连接数
“server accepts handled requests”表示已经处理的连接信息,三个数字依次表示:
已处理的连接数(4) 成功的TCP握手次数(4) 已处理的请求数(7)

二、安装MySQL数据库
以5.5.22版本为例,安装过程如下:
(1)编译安装MySQL
[iyunv@localhost ~]# yum  -y  install  ncurses-devel

[iyunv@localhost ~]#tar  zxf  cmake-2.8.8.tar.gz
[iyunv@localhost ~]#cd  cmake-2.8.6
[iyunv@localhost cmake-2.8.6]# ./configure  &&  gmake  &&  gmake install

[iyunv@localhost ~]# tar  zxf  mysql-5.5.22.tar.gz
[iyunv@localhost ~]# cd  mysql-5.5.22
[iyunv@localhost mysql-5.5.22]#cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf-8  -DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all  -DSYSCONFDIR=/etc  &&  make  &&  make install

(2)优化调整
[iyunv@localhost mysql-5.5.22]# cp  support-files/my-medium.cnf  /etc/my.cnf
[iyunv@localhost mysql-5.5.22]# cp  support-files/mysql.server  /etc/init.d/mysqld
[iyunv@localhost ~]# chmod  +x  /etc/init.d/mysqld
[iyunv@localhost ~]# chkconfig  --add  mysqld
[iyunv@localhost ~]# echo “PATH=$PATH:/usr/local/mysql/bin”  >>  /etc/profile
[iyunv@localhost ~]# source  /etc/profile

(3)初始化数据库
[iyunv@localhost ~]# useradd  -M  -s  /sbin/nologin  mysql
[iyunv@localhost ~]# chow  -R  mysql:mysql  /usr/local/mysql
[iyunv@localhost ~]# /usr/local/mysql/script/mysql_install_db  --basedir=/usr/local/mysql  
--datadir=/usr/local/mysql/data  --user=mysql

(4)启动mysql服务
[iyunv@localhost ~]# service  mysql  start
[iyunv@localhost ~]# mysqladmin  -u  root  password  ‘123456’

三、安装PHP解析环境
(1)编译安装PHP
wKiom1hY_fGjNTD5AAADQo6OlmA909.jpg
wKioL1hY_fGylWbgAAAOuP6ydGQ467.jpg
这里的MySQL服务是安装在本地的
“--with-fpm”启用FPM模块,用来对PHP解析实例进行管理,优化解析效率。

(2)安装后的调整
wKiom1hY_fGwUCiTAAAIFL0w-0U620.jpg

(3)安装ZendGuardLoader
wKioL1hY_fKR3oBHAAAOFU9G3n0896.jpg
wKiom1hY_fLRyNeiAAAEHn11XzQ228.jpg

四、配置Nginx支持PHP环境
让Nginx能够解析PHP网页,有两种方法可以:
其一,充当中介,将访问的PHP页面的web请求转交给其他服务器(LAMP)处理;
其二,通过使用PHP的FPM模块调用本机的PHP环境。

这里使用FPM方式
(1)启用php-fmp进程
wKiom1hY_fKTQayGAAACNGt8a-o917.jpg
wKioL1hY_fLgFof8AAACglA-eSk136.jpg
参考范例建立php-fpm.conf配置文件

wKiom1hY_fPxJxoeAAACji1_uZI835.jpg

wKioL1hY_fPzbXKBAAACAOpOSWY478.jpg
wKioL1hY_wXAc5tpAAABawocZ8s794.jpg
确认pid文件位置

wKiom1hY_waS6l6gAAAA41D4qH8842.jpg
运行用户

wKioL1hY_wbwybOMAAAA7108opk556.jpg
运行组

wKiom1hY_waDXXraAAABawLbYAs988.jpg
启动时开启的进程数

wKioL1hY_wbhly01AAABbHjpwmI804.jpg
最少控线进程数

wKiom1hY_weQmayHAAABeb-7YZQ676.jpg
最多控线进程数

wKioL1hY_wfirLmrAAAHbr9bV_M882.jpg
启动php-fpm程序,默认监听本机的9000端口

wKiom1hY_wejOrCxAAACF6rn-Xc756.jpg
wKioL1hY_wiCYkYoAAAWT2NUpwA673.jpg
可以编辑nginx服务脚本,添加以上内容,以便在启动/停止nginx服务器时将php-fpm进程也自动启动/停止。

(2)配置nginx支持PHP解析
wKiom1hY_wiQmWaGAAACi9_qMKw615.jpg
wKiom1hY_7Dz7MQ_AAAEjfBciCw057.jpg
wKiom1hY_7DDtl7QAAABq2ZXXcA061.jpg

补充:若交给IP地址为192.168.1.253的LAMP服务器处理,从而实现由Nginx负责静态页面,LAMP负责动态页面的配置方法为:

server  {
……
location ~ \.php$ {                            //访问.php页面的配置段
proxy_passhttp://192.168.1.253:80;      //Apache服务器的监听地址
}
}

wKioL1hY_7DCuTKCAAADfYZUj6w836.jpg
完成修改后,重启Nginx服务。

(2)php页面访问测试
wKiom1hY_7DR9bRvAAAI36Q_nKg777.jpg
wKioL1hY_7GzdPefAAASqfJg9WA504.jpg

访问测试网页,出现以下内容,说明PHP解析及数据库连接均正常
wKioL1hY_7GB0GTDAAAaPiN2Obs580.jpg

LNMP平台的搭建到此就完成了,可以根据具体的需求部署动态的web网站了。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-317258-1-1.html 上篇帖子: LNMP环境编译安装 下篇帖子: lnmp环境安装 网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表