zoukankan      html  css  js  c++  java
  • 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;
    …
    }
    ------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774
  • 相关阅读:
    Linux Exploit系列之一 典型的基于堆栈的缓冲区溢出
    [Codeforces Round #433][Codeforces 853C/854E. Boredom]
    Educational Codeforces Round 4
    [Educational Round 3][Codeforces 609F. Frogs and mosquitoes]
    [ACM-ICPC 2018 徐州赛区网络预赛][D. Easy Math]
    Educational Codeforces Round 50
    [Codeforces Round #507][Codeforces 1039C/1040E. Network Safety]
    [Educational Round 3][Codeforces 609E. Minimum spanning tree for each edge]
    Educational Codeforces Round 3
    [Manthan, Codefest 18][Codeforces 1037E. Trips]
  • 原文地址:https://www.cnblogs.com/alexlv/p/14832679.html
Copyright © 2011-2022 走看看