无缝平滑升级nginx,用户无感,不会影响业务运行!
#1.下载nginx 1.21.3版本的压缩包上传至服务器 /opt 目录 ,下载链接:http://nginx.org/download/nginx-1.21.3.tar.gz
cd /opt
#2.备份配置文件
/usr/local/nginx/conf/nginx.conf /etc/nginx/conf.d
#3.解压 nginx
tar -zxvf nginx-1.21.3.tar.gz
#4.执行编译,备份旧版本nginx,并将编译后的新版本的nginx复制到运行目录:
cd /opt/nginx-1.21.3
./configure --prefix=/usr/local/nginx --with-ipv6 --with-http_stub_status_module --with-http_ssl_module --with-debug
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old.20211027
cp objs/nginx /usr/local/nginx/sbin/
#5.测试
/usr/local/nginx/sbin/nginx -t
#6.向主进程发送USR2信号,Nginx会启动一个新版本的master进程和woker进程和旧版一起处理请求,先查看进程号:ps -ef |grep nginx woker为:17157 master 为:26415
kill -USR2 26415
#7.关闭旧的nginx woker进程 ,WINCH参数逐步关闭woker进程, 等待请求处理结束后再退出
kill -WINCH 26415
#8.结束旧版本的主进程
kill -9 26415
#9.验证
/usr/local/nginx/sbin/nginx -V