1. 程式人生 > >Nginx學習筆記——啟動、停止

Nginx學習筆記——啟動、停止

啟動

只需要直接執行nginx可執行檔案。

[gap@localhost sbin]$ pwd
/usr/local/nginx/sbin

[gap@localhost sbin]$ ll
total 3208
-rwxr-xr-x 1 root root 3283671 Jan 26 21:47 nginx
//啟動nginx
[gap@localhost sbin]$ sudo ./nginx 
//檢視nginx程序
[gap@localhost sbin]$ ps -ef|grep nginx
root     30225  3727  0 22:44 pts/0    00:00:00 sudo ./nginx
root     32497
1 0 23:20 ? 00:00:00 nginx: master process ./nginx nobody 32499 32497 0 23:20 ? 00:00:00 nginx: worker process gap 32504 3727 0 23:20 pts/0 00:00:00 grep --color=auto nginx

控制

一旦nginx啟動,可以在呼叫可執行檔案時使用 -s引數對程式進行控制。使用如下語法:

 nginx -s signal

其中signal可以是如下值:

stop — 快速關閉
quit — 優雅地關閉
reload — 重新家在配置檔案
reopen — 重新開啟日誌檔案

停止

例如,要等帶worker程序處理萬當前請求後再退出nginx,可是用如下命令:

nginx -s quit

必須使用啟動nginx的使用者執行這個命令。

重新載入配置檔案

修改配置檔案之後,只有重新載入指令被傳給nginx程序或者重新啟動nginx才會生效。
重啟nginx:

nginx -s reload

一旦主程序收到重新載入配置的訊號,就會檢查新配置檔案的語法正確性,並嘗試應用配置資訊。如果成功,主程序會啟動新的worker程序並且向老的worker程序傳送訊息,要求他們關閉;否則,主程序回滾所作的修改,繼續使用老的配置工作。老的worker程序,收到關閉命令,停止接受新連線,繼續處理當前請求,直到所有請求都處理完,然後老worker程序退出。

其他控制方式

在Unix工具(比如kill工具)的幫助下,也可以給nginx程序傳送訊號。在這種情況下,訊號直接傳送給指定ID的程序。nginx主程序的ID預設被寫道nginx.pid檔案,儲存在/usr/local/nginx/logs目錄下,或者在/var/run目錄下。比如,如果主程序ID
時1628,傳送QUIT訊號讓nginx優雅地退出,執行:

kill -s QUIT 1628

要獲取正在執行的nginx程序,使用ps工具,例如:

ps -ax | grep nginx

要了解更多關於傳送訊號給nginx的資訊,可以參考官方文件中的Controlling nginx部分。