關於平滑重啓的意思,就是指已經連接到nginx的請求將繼續使用舊的配置,待客戶端服務完成後,舊的工作進程將關閉,下次請求將採用新的配置。
好處:重啓過程中,不會出現500相關的錯誤,用戶體驗較好。
windows下啓動nginx
cd d:\nginx
start nginx
nginx的服務管理
nginx -s [stop|quit|reopen|reload]
從容停止nginx
kill -QUIT pid
快速停止nginx
kill -TERM pid
或kill -INT pid
強制退出
pkill -9 nginx
升級過程中,使用如下平滑重啓,而不要一位的使用kill -9 pid等危險命令
使用如下命令
kill -HUP Nginx主進程號
原理
當nginx接收到HUP信號時,它會嘗試先解析配置文件(如果指定配置文件,就使用指定的,否則使用默認的,重啓時,先用 -t參數檢查下),如果成功,就應用新的配置文件(例如,重新打開日誌文件或監聽的套接字)。之後,nginx運行新的工作進程並從容關閉舊的工作進程。通知工作進程關閉監聽套接字,但是繼續爲當前連接的客戶提供服務。所有客戶端的服務完成後,舊的工作進程將被關閉。如果新的配置文件應用失敗,nginx將繼續使用舊的配置進行工作。
支持的信號
TREM,INT 快速關閉
QUIT 從容關閉
HUP 平滑重啓,重新加載配置文件
USR1 重新打開日誌文件,在切割日誌時用途較大
USR2 平滑升級可執行程序
WINCH 從容關閉工作進程