配置檔案一般是乙個文字檔案,可以由程式解析,通過為一組指令指定值便定義了程式的行為,配置nginx只需要掌握一些機制:指令、區段(block)和整體邏輯結構,實際配置過程中,大多為指令填寫值。
nginx的配置檔案實際是乙個具有一定邏輯結構的一組指令列表,修改指令值即可控制應用程式。
nginx的配置檔案預設安裝在/usr/local/nginx/conf/nginx.conf
,檢視nginx.conf
檔案:
# more /usr/local/nginx/conf/nginx.conf
前兩行配置如下:
#user nobody;
worker_processes 1;
使用字元」#」注釋掉了第一行,第二行宣告了一條指令,worker_processes
是乙個鍵,它對應的值設定為1,以";"
結尾,這條指令指定了nginx作為單個工作程序工作。
每個指令都有不同的語法,例如指令worker_processes
只接受乙個數值,指令user
需要指定兩個字串值:使用者賬戶(nginx的woker程序使用該賬戶執行)和使用者組。
nginx通過模組的方法構建而成,每乙個模組都提供一組指令,最根本的指令是nginx核心模組部分。
在配置檔案中有如下的指令:
include mime.types;
該指令用來執行對乙個特定檔案的包含,即在配置檔案的內容中,將被插入的檔案通過include
指令插入到確切的位置上,實際例子如下:
nginx.conf檔案內容:
user nginx nginx;
worker_processes 4;
include other_settings.conf;
other_settings.conf檔案內容如下:
error_log logs/error.log
;pid logs/nginx.pid
;
nginx解釋配置檔案的最終結果如下:
user nginx nginx;
worker_processes 4
;error_log logs/error.log
;pid logs/nginx.pid
;
在nginx最初的配置檔案中使用了兩個檔案nginx.conf和mime.types( include mime.types;),對於高階配置而言,至少需要5個檔案:
標準名稱
描述nginx.conf
應用程式的基本配置檔案
mime.types
檔案擴充套件列表檔案,它們與mime型別關聯
fastcgi.conf
與fastcgi相關的配置檔案
proxy.conf
與proxy相關的配置檔案
sites.conf
以上檔名是依據慣例定義的,實際上完全可以使用其他檔名。
include指令支援檔名替換,例如:
include sites/*.conf
這將包含sites目錄下的所有.conf檔案,這種機制允許你為自己的**建立單獨的配置檔案,然後再將它們全部包含進來。
指令由模組提供,如果啟用了乙個模組,那麼該模組對應的指令也同時生效,如下:
events
events模組提供的指令worker_connections 1024;
只能放在events區段才有意義。
有些指令可以寫在配置檔案頂部,起到全域性效果:
不同區段可以互相巢狀:
上述例子展示了**對nginx的配置,在http區段可以宣告多個server區段,乙個server區段允許配置乙個虛擬主機和監聽的埠,在server區段內允許插入多個location區段,當需要對特定的路徑進行url匹配時,location區段允許對這些路徑單獨設定。
乙個區段巢狀其它區段,被巢狀的區段將繼承其父區段的設定,上述例子server區段設定了access_log指令來記錄伺服器所有的http請求,在location區段同樣生效,可以在location區段重新設定access_log:
單位描述
k/k千位元組
m/m兆位元組
msmilliseconds–毫秒
sseconds–秒(預設時間單位)
mminutes–分鐘
hhours–小時
ddays–天
wweeks–星期
mmonths–月(30天)
yyears–年(365天)
模組提供各種變數,注意:有些指令不允許使用變數,例如:
error_log logs/error-$nginx_version.log
這是乙個有效的配置指令,但它只產生乙個error-$nginx_version.log檔案,並不解析變數。
將字串作為指令值,可以沒有引號,但如果使用的是特殊字元,例如:空格符、分號(;)、花括號({}),就需要使用引號將其括起:
root '/home/example.com/my web pages'
注意:無論使用單引號、雙引號,nginx都認為沒有區別。 Nginx 的配置檔案基本結構
nginx conf nginx.conf 主要設定一些影響nginx伺服器整體執行的配置指令 主要包括配置執行nginx伺服器的使用者 組 允許生成的額workder process 數,程序 pid 存放路徑 日誌存放路徑和型別以及配置檔案的引入等。workder processess 1 這是...
nginx配置檔案
執行使用者 user nobody nobody 啟動程序 worker processes 2 全域性錯誤日誌及pid文件 error log logs error.log notice pid logs nginx.pid 工作模式及連線數上限 events 設定http伺服器,利用他的反向 功...
nginx 配置檔案
ps nginx使用有兩三年了,現在經常碰到有新使用者問一些很基本的問題,我也沒時間一一回答,今天下午花了點時間,結合自己的使用經驗,把nginx的主要配置引數說明分享一下,也參考了一些網路的內容,這篇是目前最完整的nginx配置引數中文說明了。更詳細的模組引數請參考 定義nginx執行的使用者和使...