nginx的信號量
阿新 • • 發佈:2017-07-22
com 接收 term strong 指定 完成 run gin 將不
在研發過程中,修改nginx的配置文件nginx.conf是很平常的事,需要重啟nginx。如果我們直接reload是有一定風險的,我們可以通過發送系統信號給nginx主進程的方式來進行。
第一步:確認nginx配置文件的語法是否正確,否則nginx將不會加載新的配置文件。
如果出現這樣的信息說明配置文件是正確的。
第二步:平滑重啟
kill -HUP nginx進程號
kill -HUP ‘‘/var/run/nginx.pid"
當nginx接收到HUP信號時,它會嘗試先解析配置文件(如果指定文件,就使用指定的,否則使用默認的),如果成功,就應用新的配置文件(例如:重新打開日誌文件或監聽的套接字),之後,nginx運行新的工作進程並從容關閉舊的工作進程,通知工作進程關閉監聽套接字,但是繼續為當前連接的客戶提供服務,所有客戶端的服務完成後,舊的工作進程就關閉,如果新的配置文件應用失敗,nginx再繼續使用早的配置進行工作。
補充內容:nginx的幾種信號
TERM,INT 快速關閉
QUIT 從容關閉
HUP 平滑重啟,重新加載配置文件
USR1 重新打開日誌文件,在切割日誌時用途較大
USR2 平滑升級可執行程序
WINCH 從容關閉工作進程
nginx的信號量