nginx是乙個功能強大的web伺服器和負載均衡軟體,由俄羅斯人開發。nginx包括乙個master程序和數個worker程序,master程序用於讀取、解析配置檔案和管理worker程序,worker程序實際處理請求。nginx實現了基於事件的模型和作業系統機制驅動的請求分發。
nginx的各種功能以模組(module)的形式提供,只有在編譯安裝時可以選擇安裝或不安裝哪些模組,在原始碼編譯後,或通過linux軟體管理包工具安裝nginx,不能再載入或去除模組。
可以用 nginx -v 命令來檢視配置目錄和prefix目錄,配置檔案可以在編譯時單獨指定,也可以在啟動時指定,如果沒有指定配置檔案,那麼預設配置檔案為prefix目錄下的conf/nginx.conf。例如,prefix目錄為「/usr/local/nginx」,沒有指定配置檔案,那麼預設情況,nginx的配置檔案是「/usr/local/conf/nginx.conf」。
yum或者apt-get軟體包管理工具安裝的,配置檔案通常是/etc/nginx/nginx.conf。
直接執行nginx可執行檔案即可啟動,nginx會自動讀取配置檔案目錄下的「nginx.conf」配置檔案,也可以在後面接「-c」引數來指定配置檔案:
nginx -c /path/to/configfile
由於nginx的配置檔案比較複雜容易出錯,修改配置後可以用「-t」引數來校驗配置檔案是否正確:
nginx -t # 校驗預設的配置檔案nginx -t -c /path/to/configfile # 校驗指定配置檔案
-t引數除了校驗配置檔案外,還同時將完整的配置檔案列印到標準輸出(1.9.2以後版本支援)。
-g directives:設定全域性指令,優先順序高於配置檔案。
-p prefix:制定prefix目錄,預設是/usr/local/nginx。
當nginx啟動後,可以使用「-s」引數向nginx管理程序傳送訊號來控制nginx:
nginx -s signal
其中,signal可以是以下值:
quit訊號通知nginx等待worker程序處理完當前的請求後退出,此命令只能由啟動nginx的linux賬戶來執行。
reload訊號通知nginx重新載入配置檔案,除了實用reload外,nginx只會在啟動時載入一次配置檔案,之後對配置檔案的修改不會對已經執行的nginx程序生效。當執行這個命令時,master程序會嘗試讀取配置檔案,如果配置檔案沒有問題,master程序會啟動新的worker程序來執行新的配置檔案並處理請求,並且通知老的worker程序不再處理新的請求並在處理完當前任務後退出。如果配置檔案存在問題不能執行,master程序會回退老配置檔案繼續工作,不會導致nginx程序整個異常退出。
linux的kill命令也可以達到相同的作用,我們假設nginx的master程序號(pid)是1234,那麼 kill -s quit 1234
和 kill -s hup 1234
這兩條命令和前面quit、reload的作用相同。
master程序的pid儲存在pid檔案中,如果編譯時沒有指定,那麼預設的pid檔案位於prefix目錄下logs資料夾中,即「prefix/logs/nginx.pid」,prefix目錄的問題請看文章前部。
以上內容大部分翻譯自nginx官方文件
Git實用教程 6 2 重新命名檔案
改著改著突然覺得檔案的名字不合適了,於是重新命名,這種情況平時不少見吧?但你這麼做,通常會把 git 搞懵逼!本來的模樣 我們把 game.py 重新命名為 wordgame.py,執行 git status命令 git 說 omg,倉庫的快照中檢查到有乙個叫 game.py 的檔案,你是不是刪了 ...
Nginx 在Linux下的啟動 停止和重載入
usr local nginx sbin nginx c usr local nginx conf nginx.conf 其中 c引數指定配置檔案路徑。nginx支援以下幾種訊號控制 term,int 快速關閉 quit 從容關閉 hup 平滑重啟 usr1 重新開啟日誌檔案,在切割檔案時用處大 u...
UML統一建模實用教程第一章
1 掌握uml的元素的語義 語法及其作用 2 掌握uml的表示法和建模方法 3 理解靜態建模和動態建模方法及其作用 4 理解體系結構的建模方法和作用 5 掌握繪製各種型別的圖,例如類圖,用例圖,協作圖,順序圖等等 理解rup開發模型及其裁剪方法 uml uml是 unified modeling l...