1.nginx的并发优化
实验准备:
useradd -M -d /usr/local/nginx/ -s /sbin/nologin nginx //建立一个nginx用户并无法登陆
(1)用户及用户组的修改
vim /usr/local/nginx/conf/nginx.conf
编辑内容
nginx -s reload
ps aux | grep nginx
由上图可知,nginx运行时的用户和用户组均为nginx
(2)工作进程数
lscpu
查询到该主机的cpu数为1
vim /usr/local/nginx/conf/nginx.conf
编辑内容
nginx -s reload
ps aux | grep nginx
由上图所示,nginx在运行过程中,有一个工作进程
(3)单个工程并发连接数
vim /usr/local/nginx/conf/nginx.conf
编辑内容
nginx -s reload
vim /etc/security/limits.conf
编辑内容
usermod -s /bin/bash nginx
su - nginx
ulimit -a
2.nginx的平滑升级
(1)编译新版nginx安装包
tar zxf nginx-1.22.0.tar.gz
cd nginx-1.22.0
./configure --prefix=/usr/lcoal/nginx --with-http_ssl_module --with-http_stub_status_module
make
(2)备份原程序并拷贝新程序
cd /usr/local/nginx/sbin/
cp nginx nginx.old
ls
以上命令的作用是备份原程序
cd /root/nginx-1.22.0/objs/
ls
\cp -f nginx /usr/local/nginx/sbin/nginx
以上命令的作用是将新程序覆盖原程序
(3)升级新程序
ps ax | grep nginx
由上图可知,旧版nginx的主控制程序的pid为18611
kill -USR2 18611 //添加新版nginx
kill -WINCH 18611 //关闭旧版nginx工作进程
(4)回退
cp -f nginx.old nginx
kill -HUP 18611 //恢复旧版的工作进程
kill -WINCH 18721 //关闭新版的工作进程
kill -QUIT 18721 //关闭新版的nginx进程