1. 程式人生 > >nginx的信號量

nginx的信號量

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的信號量