nginx 学习笔记(3) nginx管理
生活随笔
收集整理的這篇文章主要介紹了
nginx 学习笔记(3) nginx管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
nginx可以通過向其發送信號來進行管理。默認情況下主進程的進程ID寫到文件/usr/local/nginx/logs/nginx.pid中。當然也可以在配置文件中自定義該pid文件,自定義使用pid指令來進行修改。主進程支持如下信號:
?
| TERM, INT | fast shutdown |
| QUIT | graceful shutdown |
| HUP | changing configuration, keeping up with a changed time zone (only for FreeBSD and Linux), starting new worker processes with a new configuration, graceful shutdown of old worker processes |
| USR1 | re-opening log files |
| USR2 | upgrading an executable file |
| WINCH | graceful shutdown of worker processes |
?
盡管不是必須,單個的工作進程同樣可以通過下列信號進行控制。工作進程支持如下信號:
?
| TERM, INT | fast shutdown |
| QUIT | graceful shutdown |
| USR1 | re-opening log files |
| WINCH | abnormal termination for debugging (requires?debug_points?to be enabled) |
?
????????????????????????????? 改變配置文件
為使nginx重新讀取配置文件,可以想主進程發送一個HUB信號。主進程首先檢測語法的有效性,然后嘗試應用到新的配置中即打開日志文件和新的監聽套接字:若失敗,主進程回滾到改變前的配置,并繼續使用舊的配置運行。若成功則開啟新的工作進程,給舊的工作進程發送完整性關閉命令,舊的工作進程關閉監聽套接字,繼續處理舊的請求并返回給客戶端,當所有的客戶端請求處理完后,舊的工作進程關閉。
?? 舉個例子,假定nginx運行在FreeBSD 4.X之上,命令如下:
?
ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'?
打印出如下內容:
?
PID PPID USER %CPU VSZ WCHAN COMMAND 33126 1 root 0.0 1148 pause nginx: master process /usr/local/nginx/sbin/nginx 33127 33126 nobody 0.0 1380 kqread nginx: worker process (nginx) 33128 33126 nobody 0.0 1364 kqread nginx: worker process (nginx) 33129 33126 nobody 0.0 1364 kqread nginx: worker process (nginx)?
向主進程發送HUP信號后,打印出如下內容:
?
PID PPID USER %CPU VSZ WCHAN COMMAND 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sbin/nginx 33129 33126 nobody 0.0 1380 kqread nginx: worker process is shutting down (nginx) 33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx) 33135 33126 nobody 0.0 1368 kqread nginx: worker process (nginx) 33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)?
可以看到PID為33129的舊工作進程正在處理請求中。過一段時間后再觀察,發現它已經關閉掉了:
?
PID PPID USER %CPU VSZ WCHAN COMMAND 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sbin/nginx 33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx) 33135 33126 nobody 0.0 1368 kqread nginx: worker process (nginx) 33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)?
---出去一段時間
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/davidwang456/p/3427508.html
總結
以上是生活随笔為你收集整理的nginx 学习笔记(3) nginx管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx 学习笔记(2) nginx新
- 下一篇: nginx 学习笔记(4) Connec