ngx的配置系統

2021-09-26 15:58:53 字數 1678 閱讀 4779

nginx的配置系統由乙個主配置檔案和其他一些輔助的配置檔案構成。這些配置檔案均是純文字檔案,全部位於nginx安裝目錄下的conf目錄下。

由於除主配置檔案nginx.conf以外的檔案都是在某些情況下才使用的,而只有主配置檔案是在任何情況下都被使用的。所以在這裡我們就以主配置檔案為例,來解釋nginx的配置系統。

在nginx.conf中,包含若干配置項。每個配置項由配置指令和指令引數2個部分構成。指令引數也就是配置指令對應的配置值。

配置指令是乙個字串,可以用單引號或者雙引號括起來,也可以不括。但是如果配置指令包含空格,一定要引起來。

指令的引數使用乙個或者多個空格或者tab字元與指令分開。指令的引數有乙個或者多個token串組成。token串之間由空格或者tab鍵分隔。

token串分為簡單字串或者是復合配置塊。復合配置塊即是由大括號括起來的一堆內容。乙個復合配置塊中可能包含若干其他的配置指令。

如果乙個配置指令的引數全部由簡單字串構成,也就是不包含復合配置塊,那麼我們就說這個配置指令是乙個簡單配置項,否則稱之為複雜配置項。例如下面這個是乙個簡單配置項:

error_page   500 502 503 504  /50x.html;
對於簡單配置,配置項的結尾使用分號結束。對於複雜配置項,包含多個token串的,一般都是簡單token串放在前面,復合配置塊一般位於最後,而且其結尾,並不需要再新增分號。例如下面這個複雜配置項:

location /
nginx.conf中的配置資訊,根據其邏輯上的意義,對它們進行了分類,也就是分成了多個作用域,或者稱之為配置指令上下文。不同的作用域含有乙個或者多個配置項。

當前nginx支援的幾個指令上下文:

main:

nginx在執行時與具體業務功能(比如http服務或者email服務**)無關的一些引數,比如工作程序數,執行的身份等。

http服務上支援若干虛擬主機。每個虛擬主機乙個對應的server配置項,配置項裡面包含該虛擬主機相關的配置。在提供mail服務的**時,也可以建立若干server.每個server通過監聽的位址來區分。

location:

http服務中,某些特定的url對應的一系列配置項。

mail:

指令上下文,可能有包含的情況出現。例如:通常http上下文和mail上下文一定是出現在main上下文裡的。在乙個上下文裡,可能包含另外一種型別的上下文多次。例如:如果http服務,支援了多個虛擬主機,那麼在http上下文裡,就會出現多個server上下文。

我們來看乙個示例配置:

}在這個配置中,上面提到個五種配置指令上下文都存在。

存在於main上下文中的配置指令如下:

存在於http上下文中的指令如下:

存在於mail上下文中的指令如下:

存在於server上下文中的配置指令如下:

存在於location上下文中的指令如下:

當然,這裡只是一些示例。具體有哪些配置指令,以及這些配置指令可以出現在什麼樣的上下文中,需要參考nginx的使用文件。

FreeBSD 系統的配置

ssh 配置 vi etc ssh sshd config 修改下面的專案 rsaauthentication yes permitrootlogin yes permitemptypasswords no passwordauthentication yes vi etc csh.cshrc 在該...

linux系統的網路配置

1 ubuntu 的網路配置,設定靜態ip vi etc network inte ces 1 靜態ip位址 auto lo iface lo inet dhcp auto eth0 iface eth0 inet static 靜態ip address 192.168.0.5 ip位址 netma...

Django 後台系統的配置

使用admin後台系統之前,需要先建立乙個系統管理員,建立管理員之前需先同步資料庫。python manager.py createsuperuser 設定為中文 settings中language code zh hans 設定時間,時區 time zone asia shanghai 新增自己的...