高效能Web伺服器Nginx的配置與部署研究(9)核心模組之HTTP模組基本常用指令

鍾超發表於2012-01-04

本文來自:CSDN部落格專欄《Nginx高效能Web伺服器》Poechant技術部落格,轉載請註明出處。


一、HTTP模組的作用是什麼?


Nginx的HTTP模組用於控制Nginx的HTTP程式。



二、指令


1. alias

含義:指定location使用的路徑,與root類似,但不改變檔案的跟路徑,僅適用檔案系統的路徑。

語法:alias <file-path | directory-path>

預設:N/A

作用域:http.server.location

示例:

location /i/ {

alias /home/michael/web/i/;

}

則請求 /i/logo.png 則返回 /home/michael/web/i/logo.png。

注意:

(1)替換路徑時,可以使用變數。

(2)alias無法在正則的location中使用。如果有這種需求,則必須使用rewrite和root。


2. client_body_in_file_only

含義:指定是否將使用者請求體儲存到一個檔案裡。

語法:client_body_in_file_only <on | off>

預設:off

作用域:http.server.location

示例:client_body_in_file_only on;

注意:

(1)該指令為on時,使用者的請求體會被儲存到一個檔案中,但是請求結束後,該檔案也不會被刪除;

(2)該指令一般在除錯的時候使用。


3. client_body_buffer_size

含義:指定使用者請求體所使用的buffer的最大值

語法:client_body_buffer_size <size>

預設:兩個page的大小,一般為8k或16k

作用域:http.server.location

示例:client_body_buffer_size 512k;

注意:如果使用者請求體超過了buffer的大小,則將全部內容或部分內容儲存到一個臨時檔案中。


4. client_body_temp_path

含義:設定儲存使用者請求體的檔案的目錄路徑

語法:client_body_temp_path <directory path> [level1 | level2 | level3]

作用域:http.server.location

示例:client_body_temp_path /spool/nginx/client_temp 1 2;


5. client_body_timeout

含義:設定使用者請求體的超時時間。

語法:client_body_timeout <time>

作用域:http.server.location

示例:client_body_timeout 120s;

注意:只有請求體需要被1次以上讀取時,該超時時間才會被設定。且如果這個時間後使用者什麼都沒發,nginx會返回requests time out 408.


6. client_header_buffer_size

含義:設定使用者請求頭所使用的buffer大小

語法:client_header_buffer_size <size>

預設:1k

作用域:http.server

示例:client_header_buffer_size 2k;

注意:

(1)對絕大多數請求來說,1k足以滿足請求頭所需的buffer;

(2)對於攜帶有較大cookie或來自於wap使用者的請求頭來說,1k的buffer一般不夠,這時可以使用指令large_client_header_buffers。


7. client_header_timeout

含義:設定使用者請求頭的超時時間。

語法:client_header_timeout <time>

預設:1m

作用域:http.server.location

示例:client_header_timeout 3m;

注意:只有請求頭需要被1次以上讀取時,該超時時間才會被設定。且如果這個時間後使用者什麼都沒發,nginx會返回requests time out 408.


8. client_max_body_size

含義:設定所能接收的最大請求體的大小

語法:client_max_body_size <size>

預設:1m

作用域:http.server.location

示例:client_max_body_size 2m;

注意:根據請求頭中的Content-Length來判斷請求體大小是否允許。如果大於設定值,則返回“ Request Entity Too Large”(413)錯誤。不過要注意的是,瀏覽器一般並不對這個錯誤進行特殊顯示。

本文來自:CSDN部落格專欄《Nginx高效能Web伺服器》Poechant技術部落格,轉載請註明出處。

-

相關文章