- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
請求緩沖區(qū)在NGINX請求處理中起著重要作用。 在接收到請求時,NGINX將其寫入這些緩沖區(qū)。 這些緩沖區(qū)中的數(shù)據(jù)可作為NGINX變量使用,例如$request_body。 如果緩沖區(qū)與請求大小相比較小,則數(shù)據(jù)將寫入磁盤上的文件,因此將涉及I/O操作。 NGINX提供了可以改變請求緩沖區(qū)的各種指令。
此指令設(shè)置用于請求主體的緩沖區(qū)大小。 如果主體超過緩沖區(qū)大小,則完整主體或其一部分將寫入臨時文件。 如果NGINX配置為使用文件而不是內(nèi)存緩沖區(qū),則該指令會被忽略。 默認(rèn)情況下,該指令為32位系統(tǒng)設(shè)置一個8k緩沖區(qū),為64位系統(tǒng)設(shè)置一個16k緩沖區(qū)。 該指令在NGINX置的http,server和location區(qū)塊使用。如下:
server{
client_body_buffer_size 8k;
}
此指令設(shè)置NGINX能處理的最大請求主體大小。 如果請求大于指定的大小,則NGINX發(fā)回HTTP 413(Request Entity too large)錯誤。 如果服務(wù)器處理大文件上傳,則該指令非常重要。
默認(rèn)情況下,該指令值為1m。 如下:
server{
client_max_body_size 2m;
}
此指令禁用NGINX緩沖區(qū)并將請求體存儲在臨時文件中。 文件包含純文本數(shù)據(jù)。 該指令在NGINX配置的http,server和location區(qū)塊使用。 可選值有:
off:該值將禁用文件寫入
clean:請求body將被寫入文件。 該文件將在處理請求后刪除。
on: 請求正文將被寫入文件。 處理請求后,將不會刪除該文件。
默認(rèn)情況下,指令值為關(guān)閉。 如下:
http{
client_body_in_file_only clean;
}
該指令設(shè)置NGINX將完整的請求主體存儲在單個緩沖區(qū)中。 默認(rèn)情況下,指令值為off。 如果啟用,它將優(yōu)化讀取$request_body變量時涉及的I/O操作。如下例子:
server{
client_body_in_single_buffer on;
}
此指令指定存儲請求正文的臨時文件的位置。 除了位置之外,指令還可以指定文件是否需要最多三個級別的文件夾層次結(jié)構(gòu)。 級別指定為用于生成文件夾的位數(shù)。
默認(rèn)情況下,NGINX在NGINX安裝路徑下?client_body_temp文件夾創(chuàng)建臨時文件。 如下例子:
server{
client_body_temp_pathtemp_files 1 2;
}
該指令生成的文件路徑如temp_files/1/05/0000003051。
此指令與client_body_buffer_size類似。 它為請求頭分配一個緩沖區(qū)。 如果請求頭大小大于指定的緩沖區(qū),則使用large_client_header_buffers指令分配更大的緩沖區(qū)。如下例子:
http{
client_header_buffer_size 1m;
}
此指令規(guī)定了用于讀取大型客戶端請求頭的緩沖區(qū)的最大數(shù)量和大小。 這些緩沖區(qū)僅在缺省緩沖區(qū)不足時按需分配。 當(dāng)處理請求或連接轉(zhuǎn)換到保持活動狀態(tài)時,釋放緩沖區(qū)。如下例子:
http{
large_client_header_buffers 4 8k;
}
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP