当前位置首页 > Nginx知识

nginx平滑升级

阅读次数:267 次  来源:admin  发布时间:

当Nginx服务升级到新版本时,必须要将旧的二进制文件Nginx替换掉,通常情况下这是需要重启服务的,但Nginx支持重启服务来完成新版本的平滑升级。

升级时包括以下步骤:

1)通知正在运行的旧版本Nginx准备升级。通过向master进程发送 USR2 信号可达到目的。例如

kill -USR2 <nginx master pid>

这时,运行中的Nginx会将pid文件重命名,如将/usr/local/nginx/logs/nginx.pid重命名为/usr/local/nginx/logs/nginx.pid.oldbin,这样新的Nginx才有可能启动成功。

2)启动新的Nginx,这时通过ps命令可以发现新旧版本的Nginx在同时运行。

3)通过kill命令向旧版本的master进程发送SIGQUIT信号,以“优雅”的方式关闭旧版本的Nginx。随后将只有新版本的Nginx服务运行,此时平滑升级完毕。

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

总结

id所在路径是/var/run/nginx.pid

kill -USR2 `cat /var/run/nginx.pid`
kill -QUIT `cat /var/run/nginx.pid.oldbin`

或者pid所在路径是/usr/local/nginx/logs/nginx.pid

kill   -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill   -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
上一篇:LHEL6配置apache基于域名的虚拟主机
下一篇:Debian7.1.0安装教程图解(——Debian系统轻量级快速安装法)