热升级nginx
热升级流程
- 将旧的Nginx文件替换成新的Nginx文件(注意备份)
- 向Master进程发送USR2信号
- Master进程会修改pid文件,加后缀.oldbin
- Master进程用新的Nginx文件启动新的Master进程
- 向老的Master进程发送QUIT信号,关闭老的Master进程
- 回滚:向老的Master进程发送HUP(重载reload),向新Master进程发送QUIT信号(退出quit)
具体操作命令
# 备份nginx文件
cp nginx nginx.old
# 将旧的Nginx文件替换成新的Nginx文件
cp -f nginx /usr/local/nginx/sbin/
# 向旧的Nginx发送信号
kill -USR2 旧Master的pid
kill -WINCH 旧Master的pid
# 退出旧的Master
kill -QUIT 旧Master的pid
# 回滚 如果升级发现错误 可以回滚升级 前提是没有退出旧的Master进程
kill -HUP 旧Master的pid
kill -QUIT 新Master的pid
# 如果回滚了的话海域要还原备份文件
rm nginx -rf
mv nginx.old nginx
Comments NOTHING