一、熱升級流程
1、將舊nginx文件換成新的nginx二進制文件(注意備份);
2、想master進程發送USR2信號;
3、master進程修改pid文件名,加后綴.oldbin;
4、master進程用新nginx文件后啟動新master進程
5、向老master進程發送WINCH信號,關閉老worker進程;
6、回滾:向老master發送HUP信號,向新master發送QUIT;
二、升級過程
#版本
nginx version: nginx/1.12.2
1、查看nginx狀態
2、升級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)查看版本
備注:如果我們升級完后檢查有問題,可采取進行下一步操作進行滾回。
3、回滾操作
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)查看版本
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。