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