搭建LNMP网站服务平台

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建LNMP网站服务平台相关的知识,希望对你有一定的参考价值。


一、安装及运行控制nginx

1.编译安装Nginx

技术分享

Ngin的配置及运行需要pcrezlib的软件包的支持,因此预先安装这些软件的开发包。


技术分享

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

 

技术分享

编译安装Nginx

选项--with-http_stub_status_module:表示启用该模块以支持状态统计。

 

技术分享

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

 

2.Nginx的运行控制

技术分享

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

 

技术分享

直接运行nginx即可启动Nginx服务器(这种方式使用默认的配置文件,若要改用其他配置文件,同样需要结合-c选项。)

注意:若服务器中已装有其他web服务软件,应采取措施(修改端口、停用或卸载)避免冲突。

 

技术分享

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

 

主程序nginx支持标准的进程信号:

killall -s HUP nginx        //重载nginx配置

killall -s QUIT nginx       //退出nginx进程

killall -s KILL nginx       //杀死进程

或者

kill $(cat /usr/local/nginx/logs/nginx.pid)


使用脚本来进行启动、停止、重载等操作更加方便:

技术分享

技术分享

技术分享

技术分享


技术分享

赋予脚本执行权限


技术分享

添加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为本机。

技术分享

创建网页


技术分享

技术分享

添加hosts记录


技术分享

技术分享

设置DNS服务器地址


技术分享

重启nginx服务


技术分享

使用域名访问网站成功


技术分享

查看网站的访问情况,

Active connections表示当前的活动连接数

server accepts handled requests表示已经处理的连接信息,三个数字依次表示:

已处理的连接数(4) 成功的TCP握手次数(4) 已处理的请求数(7


二、安装mysql数据库

5.5.22版本为例,安装过程如下:

(1)编译安装MySQL

[[email protected] ~]# yum  -y  install  ncurses-devel

 

[[email protected] ~]#tar  zxf  cmake-2.8.8.tar.gz

[[email protected] ~]#cd  cmake-2.8.6

[[email protected] cmake-2.8.6]# ./configure  &&  gmake  &&  gmake install

 

[[email protected] ~]# tar  zxf  mysql-5.5.22.tar.gz

[[email protected] ~]# cd  mysql-5.5.22

[[email protected] 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)优化调整

[[email protected] mysql-5.5.22]# cp  support-files/my-medium.cnf  /etc/my.cnf

[[email protected] mysql-5.5.22]# cp  support-files/mysql.server  /etc/init.d/mysqld

[[email protected] ~]# chmod  +x  /etc/init.d/mysqld

[[email protected] ~]# chkconfig  --add  mysqld

[[email protected] ~]# echo PATH=$PATH:/usr/local/mysql/bin  >>  /etc/profile

[[email protected] ~]# source  /etc/profile

 

(3)初始化数据库

[[email protected] ~]# useradd  -M  -s  /sbin/nologin  mysql

[[email protected] ~]# chow  -R  mysql:mysql  /usr/local/mysql

[[email protected] ~]# /usr/local/mysql/script/mysql_install_db  --basedir=/usr/local/mysql  

--datadir=/usr/local/mysql/data  --user=mysql


4)启动mysql服务

[[email protected] ~]# service  mysql  start

[[email protected] ~]# mysqladmin  -u  root  password  123456

 

三、安装PHP解析环境

(1)编译安装PHP

技术分享

技术分享

这里的MySQL服务是安装在本地的

--with-fpm启用FPM模块,用来对PHP解析实例进行管理,优化解析效率。

 

(2)安装后的调整

技术分享


(3)安装ZendGuardLoader

技术分享

技术分享

 

四、配置Nginx支持PHP环境

Nginx能够解析PHP网页,有两种方法可以:

其一,充当中介,将访问的PHP页面的web请求转交给其他服务器(LAMP)处理;

其二,通过使用PHPFPM模块调用本机的PHP环境。

 

这里使用FPM方式

(1)启用php-fmp进程

技术分享

技术分享

参考范例建立php-fpm.conf配置文件


技术分享


技术分享

技术分享

确认pid文件位置


技术分享

运行用户


技术分享

运行组


技术分享

启动时开启的进程数


技术分享

最少控线进程数


技术分享

最多控线进程数


技术分享

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


技术分享

技术分享

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


(2)配置nginx支持PHP解析

技术分享

技术分享

技术分享


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

 

server  {

……

location ~ \.php$ {                            //访问.php页面的配置段

proxy_passhttp://192.168.1.253:80;      //Apache服务器的监听地址

}

}

 

技术分享

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

 

(2)php页面访问测试

技术分享

技术分享


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

技术分享


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


本文出自 “网络技术” 博客,请务必保留此出处http://fjc365.blog.51cto.com/11891287/1884420

以上是关于搭建LNMP网站服务平台的主要内容,如果未能解决你的问题,请参考以下文章

LNMP架构的介绍和搭建

搭建LNMP网站服务平台

搭建lnmp环境,部署php动态网站

LNMP平台搭建网站实战案例

linux下的LNMP环境搭建

docker:搭建年轻人第一个LNMP网站平台