Nginx 筆記與總結(2)訊號控制

2022-05-13 12:13:24 字數 3043 閱讀 2772

開啟、關閉、重啟 nginx

開啟:

/usr/local/nginx/sbin/nginx
關閉,用訊號控制,語法:

kill 訊號名 pid
檢視 nginx 程序:

ps aux|grep nginx

master process 表示主程序,用來管理子程序

關閉 nginx:

master process 和 worker process 這兩個程序已經不存在了,同時 80 埠已經沒有被占用了。

nginx 的訊號控制包括:

term, int

quick shutdown(緊急關閉,輕易不要這樣使用)

quit

graceful shutdown(優雅地關閉程序,即等請求結束後再關閉)

kill

halts a stubborn process

hupconfiguration reload

start the new worker processes with a new configuration

gracefully shutdown the old worker processes(改變配置檔案,平滑地重讀配置檔案)

usr1

reopen the log files(重讀日誌,在日誌按月/日分割時有用)

usr2

upgrade executable on the fly(平滑地公升級)

winch

gracefully shutdown the worker processes(優雅地關閉舊的程序(配合usr2來進行公升級))

【測試 hup】

① 訪問  

② 更改配置檔案:

vim /usr/local/nginx/conf/nginx.conf
在 index.html 前加上 test.html。此時 test.html 的優先順序要高於 index.html

③ 在 nginx 的 html 目錄下新建 test.html:

此時在 nginx 的 html 目錄下就多了 test.html 檔案:

ls /usr/local/nginx/html/
④ 平滑地重讀配置檔案:

首先檢視 nginx 的程序號 pid:2192

平滑地重讀配置檔案:

kill -hup 2192
重新訪問 192.168.254.100:

【另乙個測試 hup】

① 修改 test.html:

導致的結果是訪問該頁面,該頁面會一直重新整理:

② 修改配置檔案:

vim /usr/local/nginx/conf/nginx.conf
去掉 test.html

此時頁面一直在重新整理,而內容不變;

③ 再次平滑地重讀配置檔案:

kill -hup 2192
內容在很短時間內改變為 welcome to nginx!

或者

kill -hup `cat /usr/local/nginx/logs/nginx.pid`
因為

cat /usr/local/nginx/logs/nginx.pid
輸出的就是 nginx 的 pid:2192

程序檔案 nginx.pid 是不會變的,而程序號 pid 是會變的。

【測試 usr1】

① 檢視 nginx 的 logs 目錄,有乙個 access.log,它記錄了所有對 web 伺服器的訪問活動(例如上例中 js 不斷重新整理頁面就會記錄到 access.log 中,該檔案會一直增漲):

如果要把 access.log 按日期進行備份,不能簡單地只把 access.log 更改為 access.log.20150722,然後新建乙個 access.log。因為該檔案的 inode 是不變的,access.log.20150722 還在繼續增漲。

② 要想新的日誌寫進新的 access.log ,則需要使用 nginx 訊號控制中的 usr1:

kill -usr1 2192
此時新的日誌都寫進了新建的 access.log 中,access.log.20150722 的大小則保持不變,完成備份。

nginx訊號控制

t erm,int quick shutdown quit graceful shutdown 優雅的關閉程序 即等請求結束後再關閉 hupconfiguration reload start the new worker processes with a new configuration gra...

Nginx控制訊號

nginx可以使用訊號來控制主程序,nginx啟動後缺省會將程序號寫入nginx.pid中。nginx主程序支援的訊號 term,int 快速關閉 quit 從容關閉 hup 過載配置 usr1 重新開啟日誌檔案 usr2 平滑公升級可執行程式 winch 從容關閉工作程序 nginx工作程序支援的...

nginx學習筆記(二)訊號控制nginx

nginx學習筆記 二 訊號控制nginx int quit ps aux grep nginx或者ps ef hrep nginx檢視nginx的程序資訊,nginx master 主程序,管理子程序的 sudo kill int nginx master的程序號殺掉nginx程序 暴力 sudo...