Nginx网站服务过程详解
作者:狮子跑了
Nginx是一款高性能、异步非阻塞工作模式、轻量级Web服务软件,这篇文章主要介绍了Nginx网站服务的相关知识,需要的朋友可以参考下
一.关于Nginx的特点
- 一款高性能、异步非阻塞工作模式、轻量级Web服务软件
- 稳定性高
- 系统资源消耗低
- 对HTTP并发连接的处理能力高
- 单台物理服务器可支持30000~50000个并发请求
二.编译安装nginx服务
1.关闭防火墙,将安装nginx所需软件包传到/opt目录下
systemctl stop firewalld systemctl disable firewalld setenforce 0 nginx-1.12.0.tar.gz
2.安装依赖包
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
3.创建运行用户、组(nginx服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx
4.编译安装Nginx
cd /opt tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/ ./configure \ --prefix=/usr/local/nginx \ #指定nainx的安装路径 --user=nginx \ #指定用户名 --group=nginx \ #指定组名 --with-http_stub status_module #启用 http_stub_status_module 模块以支持状态统计
make && make install In -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
5.检查、启动、重启、停止 nginx服务
启动
nginx nginx -t #开启nginx服务一些方法 /usr/local/nginx/sbin/nginx
停止
cat /usr/local/nginx/logs/nginx.pid #查看nginx的PID号的几种方法 netstat -lntp | grep nginx ss -lntp | grep nginx ps aux | grep nginx
kill -3 <PID号 kill -s QUIT <PID号> killall -3 nginx killall -s QUIT nqinx
重载
kill -l <PID号> kill -s HUP <PID号> killall -1 nginx killall -s HUP nginx
日志分割,重新打开日志文件
kill -USR1 <PID号>
平滑升级
kill -USR2 <PID号>
新版本升级
tar -zxvf nqinx-1.xx.xx.tar.gz cd nginx-1.xx.xx ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module \ --with-http_ssl_module make mv/usr/local/nqinx/sbin/nqinx/usr/local/nginx/sbin/nqinxold cp objs/nqinx /usr/local/nqinx/sbin/nginx make upgrade
6.添加Nginx系统服务
方法一
方法二
三.认识Nginx服务的主配置文件 nginx.conf
1.全局配置
vim /usr/local/nginx/conf/nginx.conf
#user nobody; #运行用户,若编译时未指定则默认为nobody worker_processes 1; #工作进程数量,一般设置为和cPu核数一样;设置为auto,nginx将会自己获取这个数值 #error_log logs/error.log; #错误曰志文件的位置 #pid logs/ nginx.pid; #PID 文件的位置 worker_rlinit_nofile 60000; #设置所有worker进程最大可以打开的文件数,默认为1024
2.I/O 事件配置
use epoll; #使用epoll I/o模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能 worker_connections 60000 ; #每个进程处理60000个连接 multi_accept on; #是否一次性将监听到的连接全接收进来,默认为off,关闭时一次接收一条连接 accept_mutex on; #默认为on,开启时表示以串行方式接入新连接,否则将通报给所有worker。这可能会浪费资源并产生不可预计的后果,例如惊群问题
3.HTTP 配置
vim /usr/local/nginx/conf/nginx.conf
4.server块:配置虚拟主机的相关参数,一个http 块中可以有多个server块;
5.location块:用于配置匹配的 uri;
6.upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分
四.访问状态统计配置
1.查看已安装的Nginx 是否包HTTP_STUB_STATUS 模块
/usr/local/nginx/sbin/nginx -V cat /opt/nginx-1.12.2/auto/options | grep YES #可查看nginx已安装的所有模块
2.修改nginx.conf配置文件,指定访问位置并添加stub_status 配置
cd /usr/local/nginx/conf cp nginx.conf nginx.conf.bak vim /usr/local/nginx/conf/nginx.conf location /status { stub status on; access log off; }
3.重启服务,访问测试
systemctl daemon- reload systemctl restart nginx 浏览器访问http://192.168.247.131/status curl -s http://192.168.247.131/status
到此这篇关于Nginx网站服务的文章就介绍到这了,更多相关Nginx网站服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!