Nginx之网络限制(流量,并发数)

1.  流量控制

    1.  模块:  ngx_http_core_module

        limit_rate  限制单个连接的下载速度,如果是两个连接,下载速度*2 

          上下文:  http server location location中的if字段

          用法:  limit_rate rate  rate单位字节/秒,0为关闭限速

          例子:  limit_rate 200k;    

        limit_rate_after

          上下文:  http server location

          用法:  limit_rate_after size;

          例子:  limit_rate_after 1000k;  超过1MB限速,否则不限速。       

server {
       listen 80;
       server_name ops.yangjianbo.com;
       location /ops/{
            root /home/www/html;
            limit_rate_after 5m;
            limit_rate 20k;
      }
}

    注意:  如果只有limit_rate表示只限速,如果有limit_rate又有limit_rate_after,表示超过limit_rate_after后面的size后,开始限速,没超过size之前不限速

2.  并发连接数限制 

    1.  模块:  ngx_http_limit_conn_module

        limit_conn_zone  设置区域

          上下文:http

          语法:  limit_conn_zone key zone=name:size;

              key可以是字符串,nginx自带变量或字符串和变量的组合,如:$binary_remote_addr,$server_name。

              name为内存区域的名称

              size为记录区的总容量

            例子:

              limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:300k;       

          limit_conn  设置最大连接数,当超过最大连接数时,服务器会返回503.

            上下文:http server location

            语法:  limit_conn zone number;

            例子:

              limit_conn conn_limit_per_ip 2;

          限制虚拟主机总连接数

            limit_conn_zone $server_name zone=perserver:10m;

            limit_conn perserver 2;  放在server块中

3.  请求数限制

        模块:  ngx_http_limit_req_module

        参数:

            limit_req_zone  用于共享内存区域

              上下文:  http

              语法:  limit_req_zone key zone=name:size rate=rate;

              例子:

                  limit_req_zone $binary_remote_addr zone=req_limit_per_ip:300k rate=2r/s;

            limit_req

              上下文:  http server location

              语法:  limit_req zone=name [burst=number] [nodelay];                

              例子:

                  limit_req zone=req_limit_per_ip burst=5;

        说明:  每秒2个请求,5个等待,多的都会返回503.

posted @ 2022-11-18 09:43  奋斗史  阅读(933)  评论(0)    收藏  举报