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