nginx---keepalive_timeout timeout,和上傳限制


keepalive長連接

設定保持連接超時時長,0表示禁止長連接,默認為75s
示例:在響應頭顯示此首部字段

在nginx的默認配置中寫的是65

vim /etc/nginx/nginx.conf 
keepalive_timeout  65;

 可以按照實際需求設置長短

一、對外顯示keeplive值

  1、查看默認訪問

[17:03:28 root@localhost ~]#curl -I www.a.net HTTP/1.1 200 OK Server: nginx/1.20.1 Date: Mon, 31 May 2021 09:04:33 GMT Content-Type: text/html Content-Length: 22 Last-Modified: Mon, 31 May 2021 04:48:05 GMT Connection: keep-alive ETag: "60b46a85-16" Accept-Ranges: bytes

默認訪問只顯示開啟了keep-alive 

  2、修改配置文件

1 vim /etc/nginx/nginx.conf 2 
3 keepalive_timeout  65 50;

這里的65是實際的keepalive時間,而50是對外顯示的長連接是50 

  3、測試訪問

[17:04:33 root@localhost ~]#curl -I www.a.net HTTP/1.1 200 OK Server: nginx/1.20.1 Date: Mon, 31 May 2021 09:09:17 GMT Content-Type: text/html Content-Length: 22 Last-Modified: Mon, 31 May 2021 04:48:05 GMT Connection: keep-alive Keep-Alive: timeout=50 ETag: "60b46a85-16" Accept-Ranges: bytes

  持久連接斷開的條件有兩種,一種是時間到了,一種是請求的資源到最大數量了

二、請求資源限制數量

在一次長連接上所允許請求的資源的最大數量,默認為100

vim /etc/nginx/nginx.conf 
keepalive_requests 10;

這里設置為最大請求資源為10

  三,針對某種瀏覽器設置禁止長連接

keepalive_disable none | browser ...;

  四、向客戶端發送響應報文的超時時長,此處是指兩次寫操作之間的間隔時長,而非整個響應過程的傳輸時長

send_timeout time;

  五、指定請求報文中實體的最大值,設為0,則不限制,默認1m,超過報413錯誤

client_max_body_size size;

   六、用於接收每個客戶端請求報文的body部分的緩沖區大小;默認為16k;超出此大小時,其將被暫存到磁盤上的由下面client_body_temp_path指令所定義的位置

client_body_temp_path path [level1 [level2 [level3]]];

  七、設定存儲客戶端請求報文的body部分的臨時存儲路徑及子目錄結構和數量

目錄名為16進制的數字;用hash之后的值從后往前截取第1、2、3級作為文件

  1 1級目錄占1位16進制,即2^4=16個目錄 0-f
  2 2級目錄占2位16進制,即2^8=256個目錄 00-ff
  2 3級目錄占2位16進制,即2^8=256個目錄 00-ff

client_body_temp_path /var/tmp/client_body 1 2 2

如:計算出來的是b0a15a1afc8f7e41fbdb46b091908288 

  將每個上傳的文件做哈希運算,使用最后一位做文件夾名,生成一個名字為8 的子目錄,將28作為6的子目錄,將08做為28的子目錄

  將上傳的所有文件都分為了16*256*256=1048576個子目錄

上傳服務器配置生產案例:

location /upload {
client_max_body_size 100m;
client_body_buffer_size 2048k;
client_body_temp_path /apps/nginx/temp 1 2 2;
…
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM