平滑升級nginx
阿新 • • 發佈:2018-08-27
我們 工作 情況 per nginx安裝 sbin status fix 步驟 前言
如果服務器正在運行的Nginx要進行升級、添加或刪除模塊時,我們需要停掉服務器並做相應修改,這樣服務器就要在一段時間內停止服務,Nginx可以在不停機的情況下進行各種升級動作而不影響服務器運行。
步驟1:
先用新程序替換舊程序文件,直接編譯到Nginx安裝目錄中。
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak ./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_perl_module make make install
步驟2:執行命令
kill -USR2 舊版程序的主進程號或進程文件名
此時舊的Nginx主進程將會把自己的進程文件改名為.oldbin,然後執行新版 Nginx。新舊Nginx會同時運行,共同處理請求。
kill -WINCH 舊版主進程號
這時要逐步停止舊版 Nginx,慢慢舊的工作進程就都會隨著任務執行完畢而退出,新版的Nginx的工作進程會逐漸取代舊版 工作進程。
平滑升級nginx