nginx限制并发连接数和每秒请求数 limit_conn_zone&limit_req_zone

#limit_conn_zone:限制并发连接数,即同一时间连接数
#设置一个自定义名字(perip),大小为10M的缓存空间,$binary_remote_addr表示以每个IP地址来限制
limit_conn_zone $binary_remote_addr zone=perip:10m;
#设置一个自定义名字(perserver),大小为10M的缓存空间,$server_name表示以server来限制
limit_conn_zone $server_name zone=perserver:10m;

server
{
    limit_conn perip 2;  #每个ip的并发连接数
    limit_conn perserver 20; #server总并发连接数
    limit_rate 1024k;#限制下载速度;
}

####
#limit_req_zone:限制单位时间内的请求数
#设置一个自定义名字(perip),大小为10M的缓存空间,每个IP地址,每秒接受1个请求
limit_req_zone $binary_remote_addr zone=perip:10m rate=1r/s;
#设置一个自定义名字(perserver),大小为10M的缓存空间,server,每秒接受10个请求
limit_req_zone $server_name zone=perserver:10m rate=10r/s;

server
{
     #单个IP的请求数,burst:缓冲队列的长度,nodelay:大于缓冲长度的將直接503,不设置nodelay则会排队等待
    limit_req zone=perip burst=5 nodelay; 
    limit_req zone=perserver burst=10; #总请求数
}

 我的微信:

nginx限制并发连接数和每秒请求数 limit_conn_zone&limit_req_zone_第1张图片

 

你可能感兴趣的:(nginx)