1.先备份一下旧版本的nginx可执行文件:
cp /usr/nginx/sbin/nginx /usr/nginx/sbin/nginx.bak
2.下载编译新版本的nginx源码和参照上一篇文章,将新版本的nginx 编译并安装到旧版本相同的目录
3.kill -USR2 旧版nginx主进程号pid
这时候新旧版本的nginx的主进程和工作进程会同时存在如下图
4.平滑推出旧的主进程的工作进程
kill -WINCH 旧的主进程pid
推出后会只剩下新nginx版本的工作进程如下图
5.平滑退出旧版本的nginx主进程
kill -QUIT 旧nginx主进程pid
6.以上就完成了nginx的平滑升级。需要我们注意的是,如果是在生产环境下升级时,要在测试环境下多测试一下看看能不能顺利升级在进行生产环境升级。