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