nginx总结二(nginx的启动停止以及版本平滑升级)
一.nginx的啟動(dòng)與停止。
1.nginx的啟動(dòng)
?
參數(shù)-c指定了配置文件的路徑,默認(rèn)以nobody用戶啟用這里我使用了nginx用戶啟動(dòng)的,從圖中可以看到
進(jìn)程 master proess 他表示nginx的主進(jìn)程。
2.nginx的停止。
kill 信號(hào)類型 `/usr/local/nginx/logs/nginx.pid`
①從容停止nginx
kill - QUIT nginx主進(jìn)程號(hào)。
kill - QUIT `/usr/local/nginx/logs/nginx.pid`
②快速停止nginx。
kill - INT或TEMR nginx主進(jìn)程號(hào)
kill - INT或TEMR? `/usr/local/nginx/logs/nginx.pid`
③強(qiáng)制重啟
pkill -9 nginx 或者killall nginx
3.nginx的平滑啟動(dòng)
首先你想要檢查配置文件是否正確,
?
由圖可以看出 -c 是指定配置文件的,上面也解釋了。如果配置是默認(rèn)路徑的話可以不用? -c 指定。如果沒有錯(cuò)誤就可以平滑啟動(dòng)了。
kill - HUP nginx 主進(jìn)程號(hào)
kill - HUP? `/usr/local/nginx/logs/nginx.pid`
4.nginx的信號(hào)控制
TERM INT快速關(guān)閉。
QUIT 從容停止。
HUP 平滑啟動(dòng)
USR1 重新打開日志文件,主要用在日志切割。
USR2 平滑升級(jí)可執(zhí)行程序,主要用在版本升級(jí)。
WINCH 從容關(guān)閉工作進(jìn)程 。
5nginx的平滑升級(jí)
①用新的可執(zhí)行程序替換老的可執(zhí)行程序,對(duì)于編譯安裝的nginx可以將新的直接按裝到舊的里面,最好備份下
②kill? -USR2 舊版本的主進(jìn)程號(hào)。
③舊版本的nginx的主進(jìn)程命名為.pid.oldbin ,然后執(zhí)行新版本的nginx可執(zhí)行程序,依次啟動(dòng)新的主進(jìn)程和新的工作進(jìn)程。
④現(xiàn)在新,舊版本的nginx實(shí)例會(huì)同時(shí)運(yùn)行,共同處理請(qǐng)求。要逐步停止舊版本的nginx,必須發(fā)送WINCH 信號(hào)給主進(jìn)程,然后,它的工作進(jìn)程將開始從容關(guān)閉。。
kill -WINCH 舊版本的主進(jìn)程號(hào)。
⑤一段時(shí)間后,舊的工作進(jìn)程(work proess)處理了所有已連接的請(qǐng)求后退出,僅由新的工作進(jìn)程來處理輸入的請(qǐng)求了。
⑥這個(gè)時(shí)候我們可以選擇了
kill -HUP 舊的主進(jìn)程號(hào): nginx將在不重載配置文件的情況下啟動(dòng)它的工作進(jìn)程。
kill -QUIT 新的主進(jìn)程號(hào):從容關(guān)閉其工作進(jìn)程。
kill -TERM 新的主進(jìn)程號(hào):強(qiáng)制退出。
kill 新的主進(jìn)程號(hào)或者舊的主進(jìn)程號(hào):會(huì)因?yàn)槟吃蛐碌墓ぷ鬟M(jìn)程不能退出,則向其發(fā)送kill信號(hào)。
新的主進(jìn)程號(hào)推出后,舊的會(huì)移除.oldbin 后綴,恢復(fù)他的pid文件,這樣,一切都恢復(fù)到升級(jí)之前了。
如果想嘗試升級(jí)成功,而切也要保留新的服務(wù)器時(shí),可以發(fā)送QUIT信號(hào)給舊的主進(jìn)程,使其退出保留下新的服務(wù)器運(yùn)行。
轉(zhuǎn)載于:https://blog.51cto.com/andy890815/772083
總結(jié)
以上是生活随笔為你收集整理的nginx总结二(nginx的启动停止以及版本平滑升级)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Studio中的Build
- 下一篇: Office 插件开发和部署的总结