Nginx的平滑重启和升级
Nginx的平滑重啟和升級(jí)
? ? ? ? ? Nginx平滑重啟
? ? ? ? ??如果修改了Nginx的配置文件(nginx.conf),想要重啟Nginx,同樣通過發(fā)送系統(tǒng)信號(hào)給Nginx的主進(jìn)程的方式。
? ? ? ? ??但是,重啟之前,需要確認(rèn)Nginx配置文件的語法是否正確,否則,Nginx不會(huì)加載新的配置文件。
? ? ? ? ??通過以下命令檢查配置文件是否正確
? ? ? ? ??/user/local/webserver/nginx/sbin/nginx –t –c
? ? ? ? ??/user/local/webserver/nginx/conf/nginx.conf
? ? ? ? ??如果配置文件不正確,將會(huì)提示配置文件的第幾行出錯(cuò)
? ? ? ? ??[emerg]:unknowndirective “abc” in /user/local/webserver/nginx/conf/nginx.conf:55
? ? ? ? ??Configuration file/user/local/webserver/nginx/conf/nginx.conf test failed
? ? ? ? ??如果配置文件正確,將提示以下兩行信息
? ? ? ? ??The configurationfile /user/local/webserver/nginx/conf/nginx.conf syntax is ok
? ? ? ? ??Configurationfile /user/local/webserver/nginx/conf/nginx.conf test is successful
? ? ? ? ??此時(shí),就可以平滑重啟Nginx了,如下
? ? ? ? ??Kill –HUP Nginx 主進(jìn)程號(hào)
? ? ? ? ??Kill – HUP‘/user/local/webserver/nginx/logs/nginx.pid’
? ? ? ? ??當(dāng)Nginx接收到HUP信號(hào)之后,它會(huì)嘗試解析指定的配置文件,如果可以使用,就應(yīng)用新的配置文件,否則使用默認(rèn)的配置文件。
? ? ? ? ??如果解析成功,Nginx重新打開日志文件或監(jiān)聽的套接字,Nginx運(yùn)行新的的工作進(jìn)程,并從容關(guān)閉舊的工作進(jìn)程,通知工作進(jìn)程監(jiān)聽套接字,但是,繼續(xù)為當(dāng)前連接的客戶提供服務(wù),所有客戶端的服務(wù)完成之后,舊的工作進(jìn)程將關(guān)閉。
? ? ? ? ??如果,新的配置文件應(yīng)用失敗,Nginx將繼續(xù)使用舊的配置進(jìn)行工作。
? ? ? ? ??Nginx的信號(hào)控制
? ? ? ? ??可以使用信號(hào)來控制Nginx停止、平滑重啟等等,Nginx支持的信號(hào)如下
? ? ? ? ??TERM,INT——快速關(guān)閉
? ? ? ? ??QUIT——從容關(guān)閉
? ? ? ? ??HUP——平滑重啟,重新加載配置文件
? ? ? ? ??USR1——重新打開日志文件,在切割日志時(shí)用途較大
? ? ? ? ??USR2——平滑升級(jí)可執(zhí)行程序
? ? ? ? ??WINCH——從容關(guān)閉工作進(jìn)程
? ? ? ? ??Nginx平滑升級(jí)
? ? ? ? ??當(dāng)需要將正在運(yùn)行的Nginx升級(jí)、添加/刪除服務(wù)器模塊時(shí),可以在不間斷服務(wù)的情況下,使用新版本、重編譯的Nginx可執(zhí)行程序替換舊版本的可執(zhí)行程序。
? ? ? ? ??1、使用心得可執(zhí)行程序替換舊的可執(zhí)行程序,對于編譯安
裝的Nginx,可以將新版本編譯安裝到舊版本的Nginx安裝路徑中,替換之前,最好備份一下舊的可執(zhí)行文件。
? ? ? ? ??2、發(fā)送以下命令
? ? ? ? ??Kill –USR2 舊版本的Nginx主進(jìn)程號(hào)
? ? ? ? ??3、舊版本Nginx的主進(jìn)程將重命名為它的.pid文件為.oldbin,比如,/user/local/webserver/nginx/logs/nginx.pid.oldbin,然后,執(zhí)行新版本的Nginx可執(zhí)行程序,一次啟動(dòng)新的主進(jìn)程和新的工作進(jìn)程。
總結(jié)
以上是生活随笔為你收集整理的Nginx的平滑重启和升级的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx的启动和停止
- 下一篇: Nginx的虚拟主机配置