官方文檔地址:http://nginx.org/en/docs/beginners_guide.html#control
開啟
官網上寫,運行nginx的可執行文件即可開啟nginx(但是要注意執行該指令的用戶身份)。nginx一旦開啟,可以通過可執行文件加-s參數來對其進行控制。
nginx -s signal
其中 signal 可以是
- stop ---- 快速關閉
- quit ---- 平滑關閉
- reload ---- 重新加載配置文件
- reopen ---- 重新打開日志文件
但是要注意指令執行的用戶身份保持一致。
平滑關閉
nginx -s quit
該指令使所有的worker進程完成其當前服務請求后關閉。
重載配置文件
nginx -s reload
當master進程接受到這個信號后,重載配置文件,檢查新配置文件的正確性,並且嘗試使用新配置文件的配置內容。如果成功,master進程開啟新的worker進程並且發送消息給舊worker進程,請求關閉舊worker進程。如果失敗,master進程將回滾,繼續使用舊配置文件的配置。舊worker進程接受到master的消息后,停止接受新的請求,在完成現有請求后關閉。
信號也可以通過unix的工具(比如kill指令功能)發送。在這種情況下,信號將被直接發送給指定ID的進程。master進程的進程ID默認被記錄在/usr/local/nginx/logs/下的nginx.pid里面,或者/var/run中。例如,如果master進程的ID是1628,可以通過如下指令平滑關閉nginx:
kill -s QUIT 1628
注:可以通過如下ps指令功能查看正在運行的所有nginx進程
ps aux | grep nginx