稳定性高
系统资源消耗低
对HTTP并发连接的处理能力高
单台物理服务器可支持30000 ~ 50000个并发请求
[root@localhost ~]# yum -y install pcre-devel zlib-devell
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
#解压缩源码包
[root@localhost ~]# tar zxf nginx-1.12.0.tar.gz
#进入源码包目录
[root@localhost ~]# cd nginx-1.12.0
#设置安装目录指定用户跟组还有一个统计模块
[root@localhost nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
#编译安装
[root@localhost nginx-1.12.0]# make && make install
#设置软链接便于后期管理
[root@localhost nginx-1.12.0]# In -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#查看软链接
[root@localhost nginx-1.12.0]# ls -l /usr/local/sbin/nginx
[root@localhost ~]# nginx -t
#启动服务
[root@localhost ~]# nginx
#查看端口号是否已经启用了
[root@localhost ~]# netstat -anpt | grep nginx
#安装elinks
[root@localhost ~]# yum -y install elinks
#字符界面直接验证
[root@localhost -]# elinks http://localhost
显示 "Welcome to ginx!"页面,表明Nginx服务已经正常运行
#添加为系统服务可以使用systemctl控制
[root@localhost ~]# vim /etc/init.d/nginx
#/bin/bash
#chkconfig:-99 20
#description:Nginx Server Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
SPROG
;;
stop)
......
#添加执行权限
[root@localhost ~]# chmod +x /etc/init.d/nginx
#添加nginx服务
[root@localhost ~]# chkconfig --add nginx
#查看nginx状态
[root@localhost ~]# systemctl status nginx
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#pid logs/nginx.pid;
events {
use epoll;
worker connections 4096;
}
http { ===>协议
......
access_log logs/access.log main;
sendfile on
......
keepalive timeout 65;
server{ ===>服务
listen 80;
server_name www.bt.com;
charset utf-8;
location /{ ===>location
root html;
index index.html index.php; }
error_page 500 502 503 504 /50x.html;
location=/50x.html {
root html; }}
}
配置编译参数时添加–with-http-stub_status_module
nginx-V 查看已安装的Nginx是否包含
HTTP_STUB_STATUS模块
[root@localhost ~]# nginx-V
nginx version: nginx/1.12.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
server {
listen 80;
server_name www.bt.com;
charset utf-8;
location /{
root html;
index index.html index.php;}
location /status {
stub_status on;
access_log off;}}}
LNMP平台就是Linux, Ngnix, MySQL, PHP的组合架构,需要Linux服务器、MySQL数据库、PHP解析环境
本案例在单台服务器上部署LNMP环境
为了与Nginx, PHP环境保持一致,此处选择采用源代码编译的方式安装MySQL组件
编译安装MySQL
优化调整
初始化数据库
启动MySQL服务并设置root数据库账号的密码
使用PHP的FPM模块
将访问PHP页面的Web请求转交给Apache服务器去处理
FastCGI将Http Server和动态脚本语言分离开
Nginx专门处理静态请求,转发动态请求
PHP-FPM专门解析PHP动态请求
编译安装PHP
编译选项时添加"–enable-fpm"以启用此模块
安装后的调整
主要是配置文件的建立与相应命令工具的路径优化
安装ZendGuardLoader (提高PHP解析效率) ,并进行加载配置
建立FPM配置文件php-fpm.conf,修改配置选项
PID文件、运行用户、服务进程数等
启动php-fpm进程
在Nginx的配置文件的server(}配置段中设置将PHP的网页请求转给FPM模块处理
下载并解压discuz代码包
将upload文件夹上传到网站的网页目录,将修改权限为777
创建所需要的数据库,如bbs,并授权给runbbs用户
在浏览器中访问网站的bbs/install/目录,按提示操作便可完成安装