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 的下載下傳位址:請點這裡
