/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
參數 "-c" 指定了配置文件的路徑,若是不加 "-c" 參數,Nginx 會默認加載其安裝目錄的 conf 子目錄中的 nginx.conf 文件,在本例中即:/usr/local/nginx/conf/nginx.conf。nginx
能夠經過 ps 命令來查找 Nginx 的主進程號:web
ps -ef|grep nginx
從圖中能夠看到,1 個 Nginx 進程的備註信息爲 「master process」,表示它爲主進程,另外的 2 個進程的備註信息爲 「worker process」,表示它們爲子進程。3781爲主進程號。bash
若是在 nginx.conf 配置文件中指定了 pid 文件存放的路徑 (例如:/usr/local/webserver/nginx/nginx.pid;),該文件中存放的就是 Nginx 當前的進程號。若是沒有指定 pid 文件存放的路徑,nginx.pid 文件默認存放在 Nginx 安裝目錄的 logs 目錄下。因此,咱們能夠直接經過如下命令來完成命令來完成中止,省下尋找 Nginx 主進程號的步驟:spa
kill -信號類型 `cat /usr/local/webserver/nginx/nginx.pid`
(1) 從容中止 Nginx日誌
kill -QUIT Nginx主進程號
或code
kill -QUIT `cat /usr/local/webserver/nginx/nginx.pid`
(2) 快速中止 Nginxserver
kill -TERM Nginx主進程號 kill -TERM `cat /usr/local/webserver/nginx/nginx.pid`
或進程
kill -INT Nginx主進程號 kill -INT `cat /usr/local/webserver/nginx/nginx.pid`
(3) 強制中止全部 Nginx 進程ast
pkill -9 nginx
若是改變了 Nginx 的配置文件 (nginx.conf),想要重啓 Nginx ,一樣能夠經過發送系統信號給 Nginx 主進程的方式來進行。不過,重啓以前,要確認 Nginx 配置文件 (nginx.conf) 的語法是正確的,不然 Nginx 將不會加載新的配置文件。經過如下命令能夠判斷 Nginx 配置文件是否正確:class
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
若是配置文件不正確,屏幕將會提示配置文件的第幾行出錯;
若是配置文件正確,屏幕將提示如下兩行信息:
這時候,就能夠平滑重啓 Nginx 了。
kill -HUP Nginx主進程號
或
kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`
當 Nginx 接收到 HUP 信號時,它會嘗試先解析配置文件 (若是指定配置文件,就使用指定的,不然使用默認的),若是成功,就應用新的配置文件 ( 例如,從新打開日誌文件或監聽的套接字 )。以後, Nginx 運行新的工做進程並從容關閉舊的工做進程。通知工做進程關閉監聽套接字,可是繼續爲當前鏈接的客戶提供服務。全部客戶端的服務完成後,舊的工做進程被關閉。若是新的配置文件應用失敗,Nginx 將繼續使用舊的配置進行工做。
在上一節中,咱們使用了信號來控制 Nginx 中止、平滑重啓,Nginx 支持如下幾種信號: