1. 程式人生 > >Nginx服務的控制方式

Nginx服務的控制方式

配置信息 平臺 fig 機制 關閉 onf quit dbi 顯示錯誤

Nginx服務器的啟停控制

通過信號機制來控制

通過給Nginx服務的主進程和工作進程發送信號控制服務的啟停。
Nginx服務在運行時,會保持一個主進程和一個或多個worker process工作進程。
我們通過給Nginx服務的主進程發送信號就可以控制服務的啟停了。
NGINX控制信號:
TERM,INT 快速關閉
QUIT 從容關閉
HUP 用新的配置開始新的工作進程,從容關閉舊的工作進程
USR1 重新打開日誌文件
USR2 平滑升級可執行程序
WINCH 從容關閉工作進程

使用語法:kill -信號 nginx主進程號

通過命令控制:

nginx -s [ stop|quit|reopen|reload]
stop:強制停止NGINX,不管工作進程當前是否在處理用戶請求,都會立即退出
quit:優雅地退出NGINX,工作進程會將當前正在處理的請求處理完畢後,再退出
reload:重載配置信息
reopen;重新打開日誌文件
nginx -t 不運行,僅僅測試配置文件
nginx -c /path/to/config 為nginx指定一個配置文件,來代替缺省的
nginx -v 查看NGINX版本
nginx -V 查看nginx編譯參數

Nginx服務的啟動:

在linux平臺下,執行Nginx安裝目錄下sbin目錄下的nginx命令即可啟動Nginx服務。

Nginx服務平滑重啟:

平滑重啟:
    Nginx服務進程接收到信號後,首先讀取新的Nginx配置文件,如果配置語法正確,則啟動新的Nginx服務,然後平緩關閉舊的服務進程;如果新的Nginx配置有問題,將顯示錯誤,並仍然使用舊的Nginx進程提供服務。
    實現平滑重啟的命令:
    nginx -g HUP [-c 新配置文件路徑]
    #HUP: 平滑重啟信號
    #-c 新配置文件路徑 :指定新配置文件路徑

Nginx服務器的平滑升級

    Nginx可實現平滑升級,在進行新版本升級過程中,還可以提供Nginx服務。

    平滑升級的過程:
    Nginx服務接收到USER2信號後,首先將舊的nginx.pid文件添加後綴.oldbin,變為nginx.pid.oldbin文件
    然後執行新版Nginx服務的二進制文件啟動服務。如果新Nginx服務啟動成功,此時系統中將有新舊倆個Nginx服務提供Web服務。之後,向舊的Nginx服務進程發送WINCH信號,停止舊的Nginx服務,並刪除nginx.pid.oldbin文件。
    為實現平滑升級,新舊Nginx服務應安裝路徑應保持一致,如無法保持新舊nginx安裝路徑一致,可使用一下命令將舊nginx的安裝路徑改為新nginx的安裝路徑:
    nginx -p 新安裝路徑

    平滑升級命令:
        Nginx -g USR2

本文章整理自馬哥linux和Nginx高性能web服務器詳解,版權歸原作者所有

Nginx服務的控制方式