Nginx配置文件詳解:新手必看

Nginx是一箇基於c語言開發的高性能http服務器及反向代理服務器,Nginx是通過配置文件來做到各個功能的實現的。Nginx的配置文件的格式非常合乎邏輯,學習這種格式以及如何使用這種每個部分是基礎,這將幫助我們有可能手工創建一箇配置文件,下面帶大家瞭解下Nginx配置文件。

一、Nginx配置文件

主要分成四部分,如下圖所示:

min(全局設置):min部分設置的指令將影響到其它所有部分設置;

see(主機設置):see部分的指令主要用於指定虛擬主機域名、IP和端口;

upstem(上游服務器設置,主要爲反向代理、負載均衡相關配置):upstem的指令用於設置一系列的後端服務器,設置反向代理及後端服務器的負載均衡;

loction(URL匹配特定位置後的設置):loction部分用於匹配網頁位置(比如,根目錄“/”,“/imges”,等等);

二、Nginx常用指令說明

三、Nginx文件結構

、全局塊:配置影響nginx全局的指令。一般有運行nginx服務器的用戶組,nginx進程pid存放路徑,日誌存放路徑,配置文件引入,允許生成woke pocess數等。

2、eents塊:配置影響nginx服務器或與用戶的網絡連接。有每個進程的最大連接數,選取哪種事件驅動模型處理連接請求,是否允許同時接受多箇網路連接,開啓多箇網絡連接序列化等。

3、http塊:可以嵌套多箇see,配置代理,緩存,日誌定義等絕大多數功能和第三方模塊的配置。如文件引入,mime-type定義,日誌自定義,是否使用sendfile傳輸文件,連接超時時間,單連接請求數等。

4、see塊:配置虛擬主機的相關參數,一箇http中可以有多箇see。

5、loction塊:配置請求的路由,以及各種頁面的處理情況。

四、Nginx常見的配置項:

.$emote_dd 與 $http_x_fowded_fo 用以記錄客戶端的ip地址;

2.$emote_use :用來記錄客戶端用戶名稱;

3.$time_locl : 用來記錄訪問時間與時區;

4.$equest : 用來記錄請求的ul與http協議;

5.$sttus : 用來記錄請求狀態;成功是200;

6.$body_bytes_s ent :記錄發送給客戶端文件主體內容大小;

7.$http_efee :用來記錄從那個頁面鏈接訪問過來的;

8.$http_use_gent :記錄客戶端瀏覽器的相關信息;

每個指令必須有分號結束。