IT俱乐部 Nginx Nginx网站服务过程详解

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 
killall -3 nginx
killall -s QUIT nqinx

重载

kill -l 
kill -s HUP 
killall -1 nginx
killall -s HUP nginx

日志分割,重新打开日志文件

kill -USR1 

平滑升级

kill -USR2 

新版本升级

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网站服务内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/server/nginx/9247.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部