Nginx資料之命令列控制

2021-09-22 01:59:03 字數 2734 閱讀 1811

◆ 指定配置檔案啟動:

使用-c引數指定配置檔案

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

◆ 指定安裝目錄的啟動:

使用-p引數指定nginx的安裝目錄

/usr/local/nginx/sbin/nginx -p /usr/local/nginx/

◆ 測試配置資訊是否有錯誤:

在不啟動nginx的情況下,使用-t引數僅測試配置檔案是否有錯誤

[root@localhost nginx]# nginx -t

nginx: the configuration file /home/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /home/nginx/conf/nginx.conf test is successful

◆ 顯示版本資訊:

使用-v引數顯示nginx的版本資訊

[root@localhost nginx]# nginx -v

nginx version: nginx/1.16.0

◆ 顯示編譯階段的引數:

使用-v引數除了可以顯示nginx的版本資訊外,還可以顯示配置編譯階段的資訊,如gcc編譯器的版本、作業系統的版本、執行configure時的引數等。

[root@localhost nginx]# nginx -v

nginx version: nginx/1.16.0

built by gcc 4.8.5 20150623 (red hat 4.8.5-36) (gcc)

configure arguments: --prefix=/home/nginx

◆ 快速地停止服務:

使用-s stop可以強制停止nginx服務。-s引數其實是告訴nginx程式向正在執行的nginx服務傳送訊號量,nginx程式通過nginx.pid檔案中得到master程序的程序id,再向執行中的master程序傳送term訊號來快速地關閉nginx服務。

/usr/local/nginx/sbin/nginx -s stop
如果通過kill命令直接向nginx master程序傳送term或者int訊號,效果是一樣

kill -s sigterm pid
或者

kill -s sigint

◆ 「優雅」地停止服務:

如果希望nginx服務可以正常地處理完當前所有請求再停止服務,那麼可以使用-s quit引數來停止服務。當快速停止服務時,worker程序與master程序

在收到訊號後會立刻跳出迴圈,退出程序。而「優雅」地停止服務時,首先會關閉監聽埠,停止接收新的連線,然後把當前正在處理的連線全部處理完,最後再退出程序。

/usr/local/nginx/sbin/nginx -s quit
傳送quit訊號給master程序來停止服務,其效果與執行-s quit命令是一樣的

kill -s sigquit
如果希望「優雅」地停止某個worker程序,那麼可以通過向該程序傳送winch訊號來停止服務。

kill -s sigwinch

◆ 執行中的nginx重讀配置項:

/usr/local/nginx/sbin/nginx -s reload
可以用kill命令傳送hup訊號來達到相同的效果

kill -s sighup

◆ 重新開啟日誌檔案:

使用-s reopen引數可以重新開啟日誌檔案,這樣可以先把當前日誌檔案改名或轉移到其他目錄中進行備份,再重新開啟時就會生成新的日誌檔案。這個功能使得日誌檔案不至於過大。

/usr/local/nginx/sbin/nginx -s reopen
使用kill命令傳送usr1訊號效果相同

kill -s sigusr1

◆ 平滑公升級nginx:

當nginx服務公升級到新的版本時,必須要將舊的二進位制檔案nginx替換掉,通常情況下這是需要重啟服務的,但nginx支援不重啟服務來完成新版本的平滑公升級。公升級時包括以下步驟:

1)通知正在執行的舊版本nginx準備公升級。通過向master程序傳送usr2訊號可達到目的。這時,執行中的nginx會將pid檔案重新命名,如/usr/local/nginx/logs/nginx.pid重新命名為usrlocal/nginx/logs/nginx.pid.oldbin,這樣新的nginx才有可能啟動成功。

kill -s sigusr2
2)啟動新版本的nginx,可以使用以上介紹過的任意一種啟動方法。這時通過ps命令可以發現新舊版本的nginx在同時執行。

3)通過kill命令向舊版本的master程序傳送sigquit訊號,以「優雅」的方式關閉舊版本的nginx。隨後將只有新版本的nginx服務執行,此時平滑公升級完畢。

◆ 顯示命令列幫助:

使用-h或者-?引數會顯示支援的所有命令列引數。

Nginx命令列控制

nginx命令列控制 在linux系統中,我們需要使用命令列來控制nginx服務的啟動和停止 過載配置檔案 回滾日誌檔案與平滑公升級等操作,本篇文章簡單記錄nginx常用命令行的使用。nginx預設安裝在 usr local nginx 中,配置檔案預設路徑為 usr local nginx con...

nginx命令列指令

sudo nginx 開啟 nginx nginx t 測試配置是否有語法錯誤 nginx hvvtq s signal c filename p prefix g directives h 開啟幫助資訊 v 顯示版本資訊並退出 v 顯示版本和配置選項資訊,然後退出 t 檢測配置檔案是否有語法錯誤,...

Nginx 命令列演示筆記

1 過載 nginx s reload2 日誌切割 sbin nginx s reopen3 搭建一台靜態web伺服器 server access log var logs access link.log 4 反向 上游服務 upstream stark server access log home...