1、熱升級流程
nginx
一、將舊nginx文件換成新的nginx二進制文件(注意備份);ide
二、想master進程發送USR2信號;網站
三、master進程修改pid文件名,加後綴.oldbin;spa
四、master進程用新nginx文件後啓動新master進程線程
五、向老master進程發送WINCH信號,關閉老worker進程;進程
六、回滾:向老master發送HUP信號,向新master發送QUIT;it
2、升級過程io
#版本編譯
nginx version: nginx/1.12.2ast
一、查看nginx狀態
二、升級nginx版本即升級二進制文件
路徑:/nginx/sbin/nginx
1)備份原來的文件,更換上新的nginx二進制文件
# cp sbin/nginx sbin/nginx.old
2)編譯新版本到make後,複製二進制nginx文件(切記須要編譯到同一個目錄)
# cd nginx-1.14.2/
# ./configure --prefix=/usr/local/nginx12
3make
# cp -r objs/nginx /usr/local/nginx12/sbin/ -f
3)查看二進制文件
cd /usr/local/nginx/sbin/
4)發送升級信號給進程號
# kill -USR2 1501 #master線程
5)優雅關閉老線程
# kill -WINCH 1501
備註:保留舊master線程,能夠用做回滾使用,若是確認不須要,能夠kill掉
4)查看版本
備註:若是咱們升級完後檢查有問題,可採起進行下一步操做進行滾回。
三、回滾操做
1)重會備份文件
# cp -f /usr/local/nginx12/sbin/nginx.old /usr/local/nginx12/sbin/nginx
2)執行平滑形成,生成新的進程
# kill -HUP 4197
# kill -QUIT 4197
master進程回滾到1501,worker進程也從新生成了,檢查網站沒問題到此完成回滾操做。
3)查看版本