天天看點

平滑重新開機mysql_Nginx的啟動、停止、平滑啟動、平滑更新

Nginx的啟動

啟動nginx,可以執行一下指令(預設安裝位置):

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

參數“-c”指定了配置檔案的路徑,如果不加,則Nginx會預設加載其安裝目錄的conf子目錄中的ngin.conf

Nginx的停止

nginx的停止方法有很多種,一般是發送系統信号給nginx主程序來停止nginx。

我們通過ps指令來查找nginx的主程序号

ps -ef |grep nginx

我們可以看到備注資訊為“master process”它表示主程序。為“worker”的是子程序。

如果在nginx.conf中指定了pid檔案存放路徑,則該檔案存放的就是nginx的主程序号。如果沒有指定,則預設存放在Nginx安裝目錄的log目錄下。是以我們還可以這樣做:

kill -信号類型 '/usr/local/nginx/logs/nginx.pid'

nginx支援以下幾種信号:

TERM,INT :快速關閉

QUIT:從容關閉

HUP:平滑啟動

USR1:重新打開日志檔案

USR2:平滑更新可執行程式

EINCH:從容關閉工作程序

(1)從容停止nginx

kill -QUIT Nginx 主程序号

(2)快速停止Nginx

kill -TERM Nginx主程序号

(3)強制停止所有nginx程序

pkill -9 nginx

Nginx的平滑啟動

kill -HUP nginx主程序号

nginx平滑更新

當需要将正在運作的nginx更新、添加/删除伺服器子產品時,可以在不中斷的情況下使用新版本、重編譯的nginx可執行程式替換舊版本的可執行程式。步驟如下:

(1)備份舊的可執行程式

(2)發送以下指令

kill -USR2 舊的版本nginx主程序号

(3)舊版本的nginx的主程序将重命名他的pid檔案為.oldbin。然後執行新版本的nginx可執行程式。依次啟動新的主程序和新的工作程序。

(4)此時新舊版本的nginx會同時運作,共同處理輸入請求。要逐漸停止舊版本的nginx執行個體,需要發送WINCH信号給舊的主程序,然後他的工作程序就從容關閉:

kill -WINCH 舊版本的主程序号

(5)一段時間後,舊的工作程序處理完所有的已連接配接請求後退出,僅有新的工作程序來處理輸入請求。

(6)這時候我們可以決定是使用新的版本還是恢複到舊版本。

更多Nginx相關教程見以下内容:

Nginx 的詳細介紹:請點這裡

Nginx 的下載下傳位址:請點這裡

平滑重新開機mysql_Nginx的啟動、停止、平滑啟動、平滑更新