在nginx开启的情况下 想更新nginx版本
可以执行nginx平滑升级
首先确保nginx已经开启
一、下载nginx新版本并安装
注意:不要执行make install
1.在官网下载新版本并解压
2. 配置debug :压缩文件省空间
#vim auto/cc/gcc
注意:不用去掉版本号 老版没有版本号 新版有 这样才有区分
3. ./configure 和老版本的一模一样
4. make
5. 安装完毕 查看新版本程序
二、备份原程序
三、拷贝新程序
四、获取当前nginx主进程pid:
当前仍然是老版本nginx接管
五、升级新程序:
kill -USR2 17367----老版本号
此时新程序已经升级 但是还未接管
六、关闭原worker进程:新程序开始接管
kill -WINCH 17367
但保留主进程
如果 新版本很好 可以直接关闭老程序:kill -QUIT 29761
如果 新版本有漏洞 还可以版本回退 重新使用老版本
七、版本回退
1.还原nginx程序:# cp -f nginx.old nginx
2 唤醒原进程:# kill -HUP 17367
3 回收新版本的worker进程: kill -WINCH 17457
4 关闭新版本主进程: kill -QUIT 17457
总结:
最后 完成了nginx的平滑升级
在nginx开启的时候就升级成功 不影响nginx