nginx的基本配置 配置檔案語法和配置指令

2021-07-16 16:32:52 字數 3002 閱讀 7521

配置檔案一般是乙個文字檔案,可以由程式解析,通過為一組指令指定值便定義了程式的行為,配置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執行的使用者和使...