原文nginx有乙個master程序和幾個worker程序。master程序用來讀取和評估配置檔案,以及維護worker程序。worker程序用來處理實際的請求。nginx使用事件模型和基於作業系統的邏輯來實現高效的worker處理程序。worker程序的數量可以定義到配置檔案中,或者根據cpu核心數來自動調節。
預設配置檔案nginx.conf
,預設位址nginx/conf
。
語法
nginx -s signal
signal
可以是以下幾個:
demo:
nginx -s quit #優雅的停止。和啟動的使用者必須是同乙個。
nginx -s reload #改了配置檔案要重洗載入生效。
nginx收到reload訊號之後,master程序會檢查配置檔案,如果沒有過,回滾配置,繼續使用舊的配置檔案。如果過了,會先生成乙個新的worker程序,然後給老的worker程序傳送訊號。老的worker程序收到訊息會停止接收新的連線,但是會執行完已經存在的連線,最後退出。
unix系統的kill
命令也可以用來傳送signal給nginx。假設nginx的master程序id是1628,使用下面格式
kill -quit 1628
ps
用來看所有的nginx程序
ps -ax | grep nginx
nginx的模組(功能)通過配置檔案的指令來控制。指令分為簡單指令
和塊指令
。簡單指令
由指令名和引數構成,中間用空格分隔,以分號結尾。塊指令
由指令名後跟{}
構成。
如果乙個指令塊可以包含其他指令,這個就是乙個context,比如events
,http
,server
,location
。
配置檔案最外層的指令叫main context
。比如events
和http
。
# 表示注釋。
簡單來說,乙個配置檔案要乙個http,包含乙個server,server包含乙個location就可以了。
通過server
塊指令裡面listen
和server_name
指令來判斷具體的server。然後再根據裡面的location
指令塊的引數來判斷。
先定義乙個http
指令塊。
}server
裡面放location
。
location /
請求匹配location的/位址,把後面的內容加到root指令引數"/data/www"後面,可以指向到實體地址。如果有多個匹配,nginx會選最長的。
比如再加乙個
location /images/
那麼images的匹配會到後面這個。
改完之後reload
生效配置檔案。
nginx -s reload
設定兩個nginx例項。
第乙個
server
}
所有8080的請求都會到/data/up1
下面。
第二個
server
}
通過正則(正規表示式必須以~和空格開頭)匹配gif等檔案,請求對映到/data/images目錄下,其他的通過proxy_pass
指令**到localhost:8080下面。
nginx 可以把請求路由**到一些比如php寫的框架服務上。基本的用法是使用fastcgi_pass
指令替換proxy_pass
指令。然後用fastcgi_param
來設定需要的**的引數。
舉個例子:
NGINX初學者指南
2.配置檔案的結構 3.提供靜態內容 4.設定簡單的 伺服器 5.設定fastcgi 參考文件 nginx有乙個主程序和幾個工作程序。主流程的主要目的是讀取和評估配置,以及維護工作流程。工作程序對請求進行實際處理。nginx採用基於事件的模型和依賴於作業系統的機制,在工作程序之間有效地分配請求。工作...
nginx 初學者指南
學習論壇 nginx 初學者指南nginx 初學者指南 配置檔案的結構 服務於靜態內容 設定簡單的 伺服器 設定fastcgi nginx有乙個主程序和幾個工作程序。主流程的主要目的是讀取和評估配置,以及維護工作流程。工作程序對請求進行實際處理。nginx使用基於事件的模型和依賴於作業系統的機制來有...
初學者mysql MySQL初學者使用指南
有很多朋友雖然安裝好了mysql但卻不知如何使用它。在這篇文章中我們就從連線mysql 修改密碼 增加使用者等方面來學習一些mysql的常用命令。一 連線mysql。1 例1 連線到本機上的mysql。首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後...