Nginx平滑升级

该文描述了如何平滑升级Nginx服务,包括备份旧版本,覆盖安装新版本,使用USR2信号无中断切换worker进程,以及在出现问题时如何通过WINCH和HUP信号回退到旧版本。最终通过QUIT信号停止旧版master进程,确保新版Nginx稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.备份旧版Nginx二进制文件
cp nginx nginx_bak
2. 覆盖旧版
cp -rf /home/nginx nginx

2.发送USR2信号给旧版master进程,旧版master进程会额外启动一个master进程和若干个worker进程,新旧worker进程同时对外提供服务;
ps -ef | grep nginx 
#当前nginx(旧版本) master进程pid
kill -USR2  xx 

3.向旧版本的Nginx主进程(master),逐步关闭自己的工作进程(主进程不退出),这时所有的用户请求都会由新版的Nginx进程处理
 kill -WINCH  xx
 
####注意
有问题回退,继续使用旧版本Nginx,可向旧的Nginx主进程发送HUP信号,它会重新启动工作进程,而且仍使用旧版配置文件。
kill -HUP xx
然后可以将新版Nginx进程使用信号进行杀死(使用QUIT、TERM、或者KILL)
kill -QUIT 新master pid
####
 
4.最后发送QUIT信号给旧版master进程使其退出,只保留新版的master和worker在正常运行。
 kill -QUIT  xx
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值