開啟、關閉、重啟 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...