nginx啟動,重啟,關閉命令
記得在Ubuntu中用apt-get安裝nginx,啟動、重啟、關閉直接就用start、restart、stop就OK了,誰知道原來nginx啟動、重啟、關閉還有這么多知識。
1、停止操作
停止操作是通過向nginx進程發送信號(什么是信號請參閱linux文 章)來進行的。
- 步驟1:查詢nginx主進程號
ps -ef | grep nginx,
在進程列表里 面找master進程,它的編號就是主進程號了。 - 步驟2:發送信號
- 從容停止Nginx:
kill -QUIT 主進程號 - 快速停止Nginx:
kill -TERM 主進程號 - 強制停止Nginx:
pkill -9 nginx
- 從容停止Nginx:
2、另外
若在nginx.conf配置了pid文件存放路徑則該文件存放的就是Nginx主進程號,如果沒指定則放在nginx的logs目錄下。有了pid文 件,我們就不用先查詢Nginx的主進程號,而直接向Nginx發送信號了,命令如下:kill -信號類型 '/usr/nginx/logs/nginx.pid'
3、平滑重啟
如果更改了配置就要重啟Nginx,要先關閉Nginx再打開?不是的,可以向Nginx 發送信號,平滑重啟。
平滑重啟命令:kill -HUP 住進稱號或進程號文件路徑
或者使用/usr/nginx/sbin/nginx -s reload
注意:修改了配置文件后最好先檢查一下修改過的配置文件是否正 確,以免重啟后Nginx出現錯誤影響服務器穩定運行。判斷Nginx配置是否正確命令如下:nginx -t -c /usr/nginx/conf/nginx.conf或者/usr/nginx/sbin/nginx -t。
4、平滑升級
如果服務器正在運行的Nginx要進行升級、添加或刪除模塊時,我們需 要停掉服務器并做相應修改,這樣服務器就要在一段時間內停止服務,Nginx可以在不停機的情況下進行各種升級動作而不影響服務器運行。
- 步驟1:如 果升級Nginx程序,先用新程序替換舊程序文件,編譯安裝的話新程序直接編譯到Nginx安裝目錄中。
- 步 驟2:執行命令
kill -USR2舊版程序的主進程號或進程文件名,此時舊的Nginx主進程將會把自己的進程文件改名為.oldbin,然后執行新版 Nginx。新舊Nginx會同市運行,共同處理請求。這時要逐步停止舊版 Nginx,輸入命令:kill -WINCH舊版主進程號,慢慢舊的工作進程就都會隨著任務執行完畢而退出,新版的Nginx的工作進程會逐漸取代舊版工作進程。
此時,我們可以決定使用新版還是恢復到舊版。不重載配置啟動新/舊工作進程kill -HUP舊/新版主進程號,從容關閉舊/新進程kill -QUIT 舊/新主進程號,如果此時報錯,提示還有進程沒有結束就用下面命令先關閉舊/新工作進程,再關閉主進程號:kill -TERM 舊/新工作進程號。
這樣下來,如果要恢復到舊版本,只需要上面的幾個步 驟都是操作新版主進程號,如果要用新版本就上面的幾個步驟都操作舊版主進程號就行了。
結束語:上面就是Nginx的一些基本的操作,希望以后Nginx能有更好的方法來處理這些操作, 最好是Nginx的命令而不是向Nginx進程發送系統信號。
原文地址:http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html