鍍金池/ 教程/ Linux/ Nginx配置文件
Nginx安裝
Nginx內(nèi)容緩存
Nginx架構(gòu)
Nginx進程和運行時控制
Nginx配置虛擬機
Nginx從源碼構(gòu)建安裝配置
為什么需要Nginx?
Nginx配置文件
Nginx壓縮和解壓
Nginx+PHP7+MySQL5.7(LNMP)環(huán)境配置
Nginx反向代理
Nginx+PHP7源碼安裝配置
Nginx快速入門
Nginx的優(yōu)勢(優(yōu)點)
Nginx教程
Nginx特性
Nginx配置Web服務(wù)器
Nginx配置日志
Nginx配置靜態(tài)內(nèi)容服務(wù)器
Nginx主要應(yīng)用場景(必讀)
Nginx安裝(從Linx包安裝)

Nginx配置文件

NGINX與其他服務(wù)類似,因為它具有以特定格式編寫的基于文本的配置文件。 默認情況下,文件名為nginx.conf并放在/etc/nginx目錄中(對于開源NGINX產(chǎn)品,位置取決于用于安裝NGINX和操作系統(tǒng)的軟件包系統(tǒng),它通常位于/usr/local/nginx/conf/etc/nginx/usr/local/etc/nginx。)

配置文件由指令及其參數(shù)組成。 簡單(單行)指令各自以分號結(jié)尾。 其他指令作為“容器”,將相關(guān)指令組合在一起,將其包圍在花括號({})中。 以下是簡單指令的一些示例。

user             nobody;
error_log        logs/error.log notice;
worker_processes 1;

為了使配置更易于維護,建議您將其拆分為存儲在/etc/nginx/conf.d目錄中的一組功能特定文件,并在主nginx.conf文件中使用include指令引用(包函)指定文件的內(nèi)容。如下所示 -

include conf.d/http;
include conf.d/stream;
include conf.d/exchange-enhanced;

幾個頂級指令(稱為上下文)將適用于不同流量類型的指令組合在一起:

  • events – 一般連接處理
  • http – HTTP協(xié)議流量
  • mail – Mail協(xié)議流量
  • stream – TCP協(xié)議流量

指定在這些上下文之外的指令是在主上下文中。
在每個流量處理上下文中,可包括一個或多個服務(wù)器上下文來定義控制請求處理的虛擬服務(wù)器。 您可以在服務(wù)器環(huán)境中包含的指令根據(jù)流量類型而有所不同。

對于HTTP流量(http上下文),每個服務(wù)器指令控制對特定域或IP地址上的資源請求的處理。 服務(wù)器上下文中的一個或多個位置上下文定義了如何處理特定的URI集合。

對于郵件和TCP流量(mailstream 上下文),服務(wù)器指令各自控制到達特定TCP端口或UNIX套接字的流量處理。

以下配置說明了上下文的使用情況。

user nobody; # a directive in the 'main' context

events {
    # configuration of connection processing
}

http {

    # Configuration specific to HTTP and affecting all virtual servers

    server {
        # configuration of HTTP virtual server 1

        location /one {
            # configuration for processing URIs with '/one'
        }

        location /two {
            # configuration for processing URIs with '/two'
        }
    }

    server {
        # configuration of HTTP virtual server 2
    }
}

stream {
    # Configuration specific to TCP and affecting all virtual servers

    server {
        # configuration of TCP virtual server 1 
    }
}

對于大多數(shù)指令,在另一個上下文(子上下文)中定義的上下文將繼承父級中包含的偽指令的值。 要覆蓋從父進程繼承的值,請在子上下文中包含該指令。 有關(guān)上下文遺留的更多信息,請參閱proxy_set_header偽指令的文檔。

要更改配置文件才能生效,NGINX必須重新加載該文件??梢灾匦聠觧ginx進程或發(fā)送reload信號來升級配置,而不會中斷當(dāng)前請求的處理。