nginx中文文件:
nginx的啟動、停止、平滑重啟、訊號控制和平滑公升級:
命令列引數:
常用命令:
-c filename:設定配置檔案。
-t :不執行,而僅僅測試配置檔案。nginx 將檢查配置檔案的語法的正確性,並嘗試開啟配置檔案中所引用到的檔案。
-s :傳遞乙個訊號,stop快速關閉,quit從容關閉,reopen重新開啟日誌檔案、用於切換日誌檔案,reload過載配置檔案。
-v :顯示nginx的版本。
-v:顯示nginx的版本,編譯器版本和配置引數
控制訊號:
可以使用訊號系統來控制主程序。預設,nginx 將其主程序的 pid 寫入到 /usr/local/nginx/logs/nginx.pid 檔案中。通過傳遞引數給 ./configure 或使用 pid 指令,來改變該檔案的位置。
主程序可以處理以下的訊號:
term,int
快速關閉
quit
從容關閉
hup重新配置
用新的配置開始新的工作程序
從容關閉舊的工作程序
usr1
重新開啟日誌檔案,在切割日誌時用途較大
usr2
平滑公升級可執行程式
winch
從容關閉工作程序
啟動:
[root@localhost ~]# alias nginx='/usr/local/nginx/sbin/nginx'停止:從容停止:[root@localhost ~]# nginx -c /usr/local/nginx/conf/nginx.conf
[root@localhost ~]# ps -ef|grep nginx
root 2073 1 0 10:37 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody 2074 2073 0 10:37 ? 00:00:00 nginx: worker process
root 2076 2022 0 10:37 pts/0 00:00:00 grep nginx
[root@localhost ~]#
# ` 字元是數字鍵盤 1 字元左邊的那個字元
[root@localhost ~]# kill -quit `cat /usr/local/nginx/logs/nginx.pid`快速停止:
[root@localhost ~]# kill -term `cat /usr/local/nginx/logs/nginx.pid`或
[root@localhost ~]# kill -int `cat /usr/local/nginx/logs/nginx.pid`強行停止:
[root@localhost ~]# kill -9 nginx重啟:1.普通重啟:關閉程序,修改配置後,重啟程序
3.平滑更新nginx二進位制,不會停止處理請求
注意:在過載前,測試一下配置檔案:
# -t 引數將檢查配置檔案的語法是否正確,缺省會檢查 /usr/local/nginx/conf/nginx.conf 檔案
[root@localhost ~]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
# 如果要對指定配置檔案進行語法檢查,可以繼續新增 -c 引數
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confnginx的平滑重啟: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
[root@localhost ~]#
如果改變了nginx的配置檔案,想重啟nginx,同樣可以傳送系統型號給nginx主程序的方式來進行,重啟之前,要確認配置檔案是否正確
[root@localhost ~]# kill -hup 【nginx主程序號】當 nginx 接收到 hup 訊號時,它會嘗試先解析配置檔案,如果成功,就應用新的配置檔案(例如,重新開啟日誌檔案或監聽的套接字)。之後,nginx 執行新的工作程序並從容關閉舊的工作程序。通知工作程序關閉監聽套接字,但是繼續為當前連線的客戶提供服務。所有的客戶端的服務完成後,舊的工作程序被關閉。如果新的配置檔案應用失敗,nginx 將繼續使用舊的配置檔案進行工作。
nginx的平滑公升級:
當需要將正在執行中的nginx公升級、新增/刪除伺服器模組時,可以在不中斷服務的情況下,使用新的nginx可執行程式替換舊的:
1.使用新的可執行程式替換舊的可執行程式,對於編譯安裝的nginx,可以將新版本編譯安裝到nginx安裝路徑中,替換之前,備份一下舊的可執行檔案
2.傳送以下指令:
[root@localhost ~]# kill -usr2 【舊版本的nginx主程序號】3.舊版本的nginx的主程序將重新命名它的pid檔案為.oldbin(例如:/usr/local/nginx/logs/nginx.pid.oldbin),然後執行新版本的nginx可執行程式,依次啟動新的主程序和新的工作程序。
4.此時,新、舊版本的nginx例項會同時執行,共同處理輸入的請求,要逐步停止舊版本的nginx,必須傳送winch訊號給舊的主程序,然後,它的工作程序就開始從容關閉:
[root@localhost ~]# kill -winch 【舊版本的nginx主程序號】5.一段時間後,舊的工作程序(worker process)處理了所有已連線的請求後退出,僅由新的工作程序來處理輸入的請求了。
6.這時候,可以決定是使用新版本,還是恢復到舊版了:
kill -hup 【舊的主程序號】:nginx將在不過載配置檔案的情況下啟動它的工作程序
kill -quit 【新的主程序號】:從容關閉其工作程序(worker process)
kill -term 【新的主程序號】:強制退出
kill 【新的主程序號或舊的主程序號】:如果因為某些原因新的工作程序不能退出,則向其傳送kill訊號
新的主程序退出後,舊的主程序會移除.oldbin字首,恢復為它的.pid檔案,這樣,一切就都恢復到公升級之前了。
如果嘗試公升級成功,而你也希望保留新的伺服器時,可傳送quit訊號給舊的主程序,使其退出而只留下新的伺服器執行。
Nginx命令列控制
nginx命令列控制 在linux系統中,我們需要使用命令列來控制nginx服務的啟動和停止 過載配置檔案 回滾日誌檔案與平滑公升級等操作,本篇文章簡單記錄nginx常用命令行的使用。nginx預設安裝在 usr local nginx 中,配置檔案預設路徑為 usr local nginx con...
Nginx資料之命令列控制
指定配置檔案啟動 使用 c引數指定配置檔案 usr local nginx sbin nginx c tmpnginx.conf 指定安裝目錄的啟動 使用 p引數指定nginx的安裝目錄 usr local nginx sbin nginx p usr local nginx 測試配置資訊是否有錯誤...
命令列引數
c 程式設計師參考 main方法可以使用引數,在這種情況下它採用下列形式之一 static int main string args static void main string args main方法的引數是表示命令行引數的string陣列。通常通過測試length屬性來檢查引數是否存在,例如 ...