當需要將正在運行中的nginx升級,添加刪除服務器模塊時,可以再不中斷服務的情況下,使用新版本的,重編譯的nginx可執行程序替換舊版本的可執行程序,步驟如下
使用新的可執行程序替換舊的可執行程序,對於編譯安裝的nginx,可以將新版本編譯安裝到舊版本的nginx安裝路徑中,替換孩子前,最好備份一下舊的可執行文件
kill -user2 舊版本的nginx主進程號
舊版本的nginx主進程將重命名他的.pid文件爲.oldbin,例如/usr/local/webserver/nginx/logs/nginx.pid.oldbin 然後執行新版本的ngxin可執行程序,依次啓動新的主進程和新的工作進程
此時,新舊版本的nginx實例會同時運行,共同處理輸入的請求,要逐步停止就版本的nginx實例,你必須發送winch信號給就的主進程,然後,它的工作進程就將開始從容關閉
kill -WINCH 舊版本的nginx主進程號