nginx 是使用乙個 master 程序來管理多個 worker 程序提供服務。master 負責管理 worker 程序,而 worker 程序則提供真正的客戶服務,worker 程序的數量一般跟伺服器上 cpu 的核心數相同,worker 之間通過一些程序間通訊機制實現負載均衡等功能。nginx 程序之間的關係可由下圖表示:
nginx 服務啟動時會讀入配置檔案,後續的行為則按照配置檔案中的指令進行。nginx 的配置檔案是純文字檔案,預設安裝 nginx 後,其配置檔案均在 /usr/local/nginx/conf/ 目錄下。其中,nginx.conf 為主配置檔案。配置檔案中以 # 開始的行,或者是前面有若干空格或者 tab 鍵,然後再跟 # 的行,都被認為是注釋。這裡只是了解主配置檔案的結構。
nginx 配置檔案是以 block(塊)形式組織,每個 block 都是以乙個塊名字和一對大括號 「{}」 表示組成,block 分為幾個層級,整個配置檔案為 main 層級,即最大的層級;在 main 層級下可以有 event、http 、mail 等層級,而 http 中又會有 server block,server block中可以包含 location block。即塊之間是可以巢狀的,內層塊繼承外層塊。最基本的配置項語法格式是「配置項名 配置項值1 配置項值2 配置項值3 ... 」;
每個層級可以有自己的指令(directive),例如 workerprocesses 是乙個main層級指令,它指定 nginx 服務的 worker 程序數量。有的指令只能在乙個層級中配置,如workerprocesses 只能存在於 main 中,而有的指令可以存在於多個層級,在這種情況下,子 block 會繼承 父 block 的配置,同時如果子block配置了與父block不同的指令,則會覆蓋掉父 block 的配置。指令的格式是「指令名 引數1 引數2 … 引數n;」,注意引數間可用任意數量空格分隔,最後要加分號。
下圖是 nginx 配置檔案通常結構圖示。
nginx 服務執行時,需要載入幾個核心模組和乙個事件模組,這些模組執行時所支援的配置項稱為基本配置;基本配置項大概可分為以下四類:
各個配置項的具體實現如下:
http 核心模組的配置/nginx 服務基本配置項 /
/用於除錯、定位的配置項 /
/正常執行的配置項 /
/優化效能配置項 /
/事件類配置項 /
具體可以參看《httpcoremodule.html" target="blank" rel="noopener noreferrer">nginx 中 http 核心模組配置》
以下是在 ubuntu 12.04 系統成功安裝 nginx 之後的主配置檔案:/http 核心模組配置的功能 /
/虛擬主機與請求分發 /
/檔案路徑的定義 /
/記憶體及磁碟資源分配 /
/網路連線設定 /
/mime 型別設定 /
/限制客戶端請求 /
/檔案操作的優化 /
/客戶請求的特殊處理 /
#nginx伺服器正常啟動時會讀取該配置檔案,以下的值都是預設的,若需要可自行修改;
#location嘗試根據使用者請求中的uri來匹配 /uri表示式,若匹配成功,則執行裡面的配置來處理使用者請求
#以下是location的一般配置項
#1、以root方式設定資源路徑
# 語法格式:root path;
#2、以alias方式設定資源路徑
# 語法格式:alias path;
#3、訪問首頁
# 語法格式:index file...
;#4、根據http返回碼重定向頁面
# 語法格式:error_page code [code...
][=|
=answer-code] uri | @named_location;
#5、是否允許遞迴使用error_page
# 語法格式:recursive_error_pages [on | off]
;#6、try_files
# 語法格式:try_files path1 [path2] uri;
nginx詳細配置檔案
快取時間設定 js和css快取時間設定 location js css 日誌格式設定 定義本虛擬主機的訪問日誌 access log var log nginx ha97access.log access 對 啟用反向 location 設定檢視nginx狀態的位址 location nginxst...
Nginx配置詳細
nginx配置檔案nginx.conf中文詳解 定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error...
Nginx 配置檔案詳細說明
配置說明 執行使用者 user nginx nginx 啟動程序,通常設定成何cpu的數量相等 worker processes 4 四核開啟了四個程序 worker cpu affinity 0001 0010 0100 1000 0表示不使用,1使用。0001使用cpu1,0010使用cpu2,...