nginx配置檔案詳解

2021-09-11 03:47:23 字數 3907 閱讀 5848

配置檔案中沒有出現的配置全部會使用 預設的配置

nginx 文件位址

需要注意的:

1:nginx配置語言其實是一種微型語言

2:nginx中使用的變數是nginx自動解析儲存的可以看看nginx常量的筆記

3:nginx 呼叫 fastcgi 模組程式其實就是類似於呼叫另乙個程式可以傳遞變數,就像 這種(fastcgi_param script_filename doc

umen

troo

tdocument_root

docume

ntr​

ootfastcgi_script_name; ) 其實就是將nginx 中的變數組成新的變數賦值給 script_filename ,然後在呼叫的fastcgi的時候吧這個變數傳遞過去,關於這些變數名字這都是協議約定好的,可以看看 fastcgi 的協議

4:配置檔案中 event節點是整體伺服器的工作模式和連線數上限,http 節點是作為http伺服器的配置, http節點中可以有多個 server 節點每乙個server節點用不同的網域名稱區分開,就是不同的虛擬機器

5:fastcgi_params; # 這個是變數檔案就是把需要傳遞給 fastcgi 程式的變數都寫進去了如果需要修改那麼就在下面繼續重新賦值就好了,因為每個 location 或 server 節點的 root等可能不同,那麼這個 在不同的節點 include 這個變數檔案時 生成的變數的具體值也不同,

6:其實 php中輸出的$_server 中的值大部分是 nginx在呼叫fastcgi 程式時傳過去的引數

7:location 匹配規則得看筆記,location可以有很多個但是一次訪問中生效的只會是乙個他們之間按規則有部分可以巢狀可以跳轉。

8:這個nginx配置是很靈活的,可以自己隨意配置

9: 在location 中修改 傳遞給 fastcgi 的變數要在 include fastcgi_params 之後 否則 不會起作用

無效:fastcgi_param ceshi 333;

include fastcgi_params;

有效:include fastcgi_params;

fastcgi_param ceshi 333;

10:在 location中可以使用 allow 和 deny 配合控制訪問許可權

例如 location /

deny 172.16.50.173; #拒絕172.16.50.173

allow all; #允許全部,意思就是允許除了172.16.50.173的其他全部ip訪問

user www; #執行使用者

worker_processes auto; # worker角色的程序個數(nginx啟動後會啟動乙個master進和n個worker程序,而n由這個引數決定 。master不處理請求,而是根據相應配置檔案資訊管理worker程序 master程序負責接收客戶端的請求並將任務合理的分配給多個worker,每個worker程序主要負責處理請求)怎麼確定個數?不知道怎麼設定時可以設定auto,或者 cpu的個數或者核數(最理想的worker_processes值取決於很多因素,包含但不限於cpu的核數,儲存資料的硬碟驅動器個數,以及負載模式當其中任何乙個因素不確定的時候,將其設定為cpu核數或許是乙個比較好的初始值,「自動」也基本是如此確認乙個引數值的。

「自動」這個引數值是從nginx 1.3.8和nginx 1.2.5 開始進行支援的,自動引數可以自動檢測 cpu cores 並設定 worker_processes 引數 。)

// 設定日誌格式

#日誌格式,以下具體介紹變數

r em

otea

ddr與

remote_addr 與

remote

a​dd

r與#工作模式及連線數上限

events

#設定fastcgi 設定  如果不指定會使用預設設定 (具體設定可以看nginx官網)

fastcgi_buffers 8 128k; #設定用於從fastcgi伺服器讀取響應的緩衝區number和size單個連線。預設情況下,緩衝區大小等於乙個記憶體頁面。這是4k或8k,具體取決於平台。

fastcgi_buffer_size 128k; #設定size用於讀取從fastcgi伺服器接收的響應的第一部分的緩衝區。這部分通常包含乙個小的響應頭。預設情況下,緩衝區大小等於乙個記憶體頁面。這是4k或8k,具體取決於平台。然而,它可以做得更小。

client_max_body_size 20m; 限制上傳檔案的大小 當超出限制後會返回413 ,

#兩個引數幹的是一件事: 它為請求頭分配乙個緩衝區。 如果請求頭大小大於指定的緩衝區,則使用large_client_header_buffers指令分配更大的緩衝區 ,這些緩衝區僅在預設緩衝區不足時按需分配。 當處理請求或連線轉換到保持活動狀態時,釋放緩衝區

client_header_buffer_size 1k;

large_client_header_buffers 4 4k;

# upstream  節點設定負載均衡的伺服器列表

upstream myserver

#server 節點

server

#當匹配到這個location時 主動尋找 index 配置項對應的檔案去跳轉訪問

location /

}

location ~ \.php$ 

#靜態檔案要求客戶端快取指定時間,這樣會在響應頭中設定上快取時間

例如設定要求客戶端快取的時候可以看到在響應頭有體現:}}

include vhosts/*.conf;

例項server:

1:當訪問 a.test.com 的時候會去找 檔案 /var/nginx/html/test/b.php

當訪問a.test.com/aa/ 的時候會去找檔案 /var/nginx/html/test/aa/b.php

server

#正則匹配 當最後是 .php的時候就走這個節點

location ~ .php($|/)

# 記錄日誌

error_log /var/nginx/logs/test_error.log debug;

access_log /var/nginx/logs/test_access.log main;

}2:不寫index ,只寫 fastcgi_index

當訪問 b.test.com的時候會去找 /var/nginx/html/test/index.php 檔案

server

error_log /var/nginx/logs/test_error.log debug;

access_log /var/nginx/logs/test_access.log main;

3:隱藏所有的.php 字尾的模式

location / ' at position 115: … internal; }̲ location ~ \.…

寫的不太好只是自己整理的,如果有錯誤請通知我

nginx配置檔案詳解

nginx engine x 是乙個高效能的 http 和 反向 伺服器,也是乙個 imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。igor 將源 以類bsd許可證的形式發布。ng...

nginx配置檔案詳解

定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log ar loginx error.log...

Nginx配置檔案詳解

定義nginx執行的使用者各使用者組 user nginx nginx nginx程序數,建議設定與cpu核心數一致 worker processes 1 全域性錯誤日誌定義型別 debug info notice warn error crit error log logs error.log e...