一、簡明nginx常用指令
1. 啟動Nginx
程式碼如下:
poechant@ubuntu:sudo ./sbin/nginx
3. Nginx 重載配置
程式碼如下:poechant@ubuntu:sudo ./sbin/nginx -s stop poechant@ubuntu:sudo ./sbin/nginx -s quit上述是採用向Nginx 發送訊號的方式,或使用:
程式碼如下:
poechant@ubuntu:sudo ./sbin/nginx -s reload
poechant@ubuntu:service nginx reload
有兩種可以查看 Nginx 的版本資訊的參數。第一種如下:
程式碼如下:poechant@ubuntu:sudo ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf
另一種顯示的是詳細的版本資訊:
程式碼如下:
poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -v nginx: nginx version: nginx/1.0.0
6. 檢查設定檔是否正確
:rr如果出現如上的提示訊息,表示沒有存取錯誤日誌檔案和進程,可以sudo(super user do)一下:程式碼如下:poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -V nginx: nginx version: nginx/1.0.0 nginx: built by gcc 4.3.3 (Ubuntu 4.3.3-5ubuntu4) nginx: TLS SNI support enabled nginx: configure arguments: --with-http_ssl_module --with-openssl=/home/luming/openssl-1.0.0d/
7.顯示幫助資訊
程式碼如下:poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -t nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok 2012/01/09 16:45:09 [emerg] 23898#0: open() "/usr/local/nginx/logs/nginx.pid" failed (13: Permission denied) nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed或:
程式碼如下:
poerchant@ubuntu:/usr/local/nginx$ sudo ./sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
以上這些涵蓋了 Nginx 日常維護的所有基本操作,另外還有向 master 進程發送信號的相關命令,我們會在下面看到。
停止操作是透過向nginx進程發送訊號(什麼是訊號請參閱linux文章)來進行的
步驟1:查詢nginx主進程號ps -ef | grep nginx
在進程清單裡面找master進程,它的編號就是主進程號了。步驟2:發送訊號
從容停止Nginx:kill -QUIT 主進程號
快速停止Nginx:kill -TERM 主進程號
強制停止Nginx:pkill -9 nginx
另外,設定 如果在nginx.了pid檔案存放路徑則該檔案存放的就是Nginx主進程號,如果沒指定則放在nginx的logs目錄下。有了pid文件,我們就不用先查詢Nginx的主進程號,而直接向Nginx發送信號了,命令如下:
kill -信號類型'/usr/nginx/logs/nginx.pid' (推薦)
平滑重啟
如果更改了設定就要重新啟動Nginx,要先關閉Nginx再開啟?不是的,可以向Nginx 發送訊號,平滑重啟。
平滑重啟指令:
kill -HUP 住進稱號或進程號檔案路徑
或使用
nginx -s reload(建議)
/usr/nginx/sbin/nginx/sbin
注意,修改了設定檔後最好先檢查一下修改過的設定檔是否正確,以免重啟後Nginx出現錯誤影響伺服器穩定運作。判斷Nginx設定是否正確指令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
或
nginx -t(建議)
或
或
/usr/nginx/sbin/nginx -t
如果伺服器正在運行的Nginx要進行升級、新增或刪除模組時,我們需要停掉伺服器並做相應修改,這樣伺服器就要在一段時間內停止服務,Nginx可以在不停機的情況下進行各種升級動作而不影響伺服器運作。
步驟1:
步 驟2:執行指令
kill -USR2 舊版程式的主進程號或行程檔名
此時舊的Nginx主程序會將自己的程序檔改名為.oldbin,然後再執行新版 Nginx。新舊Nginx會同市運行,共同處理請求。
這時要逐步停止舊版Nginx,輸入命令:
kill -WINCH 舊版主進程號
慢慢舊的工作進程就都會隨著任務執行完畢而退出,新版的Nginx的工作進程會逐漸取代舊版工作進程。
此 時,我們可以決定使用新版還是恢復到舊版。
不重載配置啟動新/舊工作進程
kill -HUP 舊/新版主進程號
從容關閉舊/新進程
kill -QUIT 舊/新主進程號
如果此時報錯,提示還有進程沒有結束就用下面命令先關閉舊/新工作進程,再關閉主進程號:
kill -TERM 舊/新工作進程號
這樣下來,如果要恢復到舊版本,只需要上面的幾個步驟都是操作新版主進程號,如果要用新版本就上面的幾個步驟都操作舊版主進程號就行了。
以上就介紹了nginx日常維護常用指令,包括了方面的內容,希望對PHP教學有興趣的朋友有幫助。