要对Nginx做升级,而且不影响业务,听起来很不错,实际上做起来也不是很难,只要原理明白了,就相当简单了。
原理:
生产环境中的Nginx原封不动,将新版本Nginx编译完毕后,替换老版本的二进制文件。给老版本发送USR2信号以启用新进程,最后winch掉老版本工作进程,再quit老版本主进程。
平滑升级的5大步骤:
1 |
将下载好的tar包解压缩,然后进行./configure。需要注意的是,编译参数和老版本Nginx的编译参数要一致。 |
2 |
make && make install(替换老版本二进制文件) |
3 |
kill -USR2 老版本进程号(USR2信号用于“滚动”进程,即启动新版本Nginx) |
4 |
kill -WINCH 老版本进程号(优雅关闭老版本的工作进程) |
5 |
kill -QUIT 老版本进程号(优雅关闭老版本的主进程) |
针对Nginx平滑升级的部分,如果有不明白的同学,欢迎一起讨论,我的QQ:1103095305,E-Mail:jiasir@icloud.com
本文出自 “贾爽技术博客” 博客,请务必保留此出处http://jiashuang.blog.51cto.com/5400079/1355387