nginx如何配置控制并发连接数?

提问者:帅平 问题分类:运维

nginx如何配置控制并发连接数?

1 个回答
一生的爱意
一生的爱意

可以通过ngx_http_limit_conn_module模块限制一个IP的并发连接数,配置如下:

http {
    limit_conn_zone $binary_remote_addr zone=ops:10m;
    server {
        listen       80;
        server_name  ops-coffee.cn;
        root /home/project/webapp;
        index index.html;
        location / {
            limit_conn ops 10;
        }
        access_log  /tmp/nginx_access.log  main;
    }
}

limit_conn_zone: 设定保存各个键(例如$binary_remote_addr)状态的共享内存空间的参数,zone=空间名字:大小

大小的计算与变量有关,例如$binary_remote_addr变量的大小对于记录IPV4地址是固定的4 bytes,而记录IPV6地址时固定的16 bytes,存储状态在32位平台中占用32或者64 bytes,在64位平台中占用64 bytes。1m的共享内存空间可以保存大约3.2万个32位的状态,1.6万个64位的状态

limit_conn: 指定一块已经设定的共享内存空间(例如name为ops的空间),以及每个给定键值的最大连接数

上边的例子表示同一IP同一时间只允许10个连接

发布于:3周前 (01-11)
我来回答