標(biāo)簽:
Nginx的平滑重啟
如果改變了噸化的配置文件,想重啟啤^,同樣可以通過發(fā)送系統(tǒng)信號給NginX主進(jìn)程的方式來進(jìn)行。不過,重啟之前,要確認(rèn)Nginx配置文件(nginxxonf)的語法是正確的,否則Nginx將不會加載新的配置文件。通過以下命令可以判斷NginX配置文件是否正確:
/usr/local/webserver/nginx/sbin/nginx-t-c/usr/loGjal/webserver/nginx/conf/ngimcvcpnf ‘
如果配置文件不正確,屏幕將會提示配置文件的第幾行出錯:
[emerg]:unknowndirective”abc”in/usrAocaVwebserver/nginx/conf/nginx.conf:55
configurationfile/usr/locaVwebserver/nginxy^conf/nginx.conftestfailed
如果配置文件正確,屏幕將提示以下兩行信息:
theconfigurationfile/usrAocaVwebserver/nginxy^conf/nginx.confsyntaxisok
configurationfile/usrAocaVwebserver/nginxy^conf/nginx.conftestissuccessful
這時候,就可以平滑重啟Nginx了。kill-HUPNginx.ia4^*f*
kill-HUPv/usr/local/webserver/nginx/logs/nginx.pid’
當(dāng)Nginx接收到HUP信號時,它會嘗試先解析配置文件(如果指定配置文件,就使用指定的,否則使用默認(rèn)的),如果成功,就應(yīng)用新的配置文件(例如,重新打開日志文件或監(jiān)聽的套接字)。之后,Nginx運(yùn)行新的工作進(jìn)程并從容關(guān)閉舊的工作進(jìn)程。通知工作進(jìn)程關(guān)閉監(jiān)聽套接字,但是繼續(xù)為當(dāng)前連接的客戶提供服務(wù)。所有客戶端的服務(wù)完成后,舊的工作進(jìn)程被關(guān)閉。如果新的配置文件應(yīng)用失敗,Nginx將繼續(xù)使用舊的配置進(jìn)行工作。
|