Nginx日常維護操作(3)

2022-04-02 05:42:53 字數 3638 閱讀 2970

1. 啟動 nginx

/sbin/nginx  

service nginx start

2. 停止 nginx

/sbin/nginx -s stop  

/sbin/nginx -s quit  

-s都是採用向 nginx 傳送訊號的方式。

3. nginx 過載配置

/sbin/nginx -s reload  

上述是採用向 nginx 傳送訊號的方式,或者使用service nginx reload  

4. 指定配置檔案

/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  

-c表示configuration,指定配置檔案。

5. 檢視 nginx 版本

有兩種可以檢視 nginx 的版本資訊的引數。第一種如下:

/usr/local/nginx$ ./sbin/nginx -v  

nginx: nginx version: nginx/1.0.0  

另一種顯示的是詳細的版本資訊:

6. 檢查配置檔案是否正確

/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  

如果出現如上的提示資訊,表示沒有訪問錯誤日誌檔案和程序,可以sudo(super user do)一下:

/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  

如果顯示如上,則表示配置檔案正確。否則,會有相關提示。

7. 顯示幫助資訊

/user/local/nginx$ ./sbin/nginx -h  

或者:/user/local/nginx$ ./sbin/nginx -?  

以上這些涵蓋了 nginx 日常維護的所有基本操作,另外還有向 master 程序傳送訊號的相關命令,我們會在下面看到。

停止操作是通過向nginx程序傳送訊號(什麼是訊號請參閱linux文 章)來進行的

步驟1:查詢nginx主程序號

ps -ef | grep nginx

在程序列表裡 面找master程序,它的編號就是主程序號了。

步驟2:傳送訊號

從容停止nginx:

kill -quit 主程序號

快速停止nginx:

kill -term 主程序號

強制停止nginx:

pkill -9 nginx

另外, 若在nginx.conf配置了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 -s reload

注意,修改了配置檔案後最好先檢查一下修改過的配置檔案是否正 確,以免重啟後nginx出現錯誤影響伺服器穩定執行。判斷nginx配置是否正確命令如下:

nginx -t -c /usr/nginx/conf/nginx.conf

或者nginx -t (推薦)

或/usr/nginx/sbin/nginx -t

如果伺服器正在執行的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程序傳送系統訊號。

hbase日常操作以及日常維護

一,基本命令 建表 create testtable coulmn1 coulmn2 也可以建表時加coulmn的屬性如 create testtable 其中的屬性有versions 設定歷史版本數,ttl 過期時間,compression 壓縮方式,當配置lzo的情況 刪除表 drop test...

hbase日常操作以及日常維護

出自 一,基本命令 建表 create testtable coulmn1 coulmn2 也可以建表時加coulmn的屬性如 create testtable 其中的屬性有versions 設定歷史版本數,ttl 過期時間,compression 壓縮方式,當配置lzo的情況 刪除表 drop t...

HBASE日常維護

一,基本命令 建表 create testtable coulmn1 coulmn2 也可以建表時加coulmn的屬性如 create testtable 其中的屬性有versions 設定歷史版本數,ttl 過期時間,compression 壓縮方式,當配置lzo的情況 刪除表 drop test...