1. 程式人生 > >平滑升級nginx

平滑升級nginx

我們 工作 情況 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