nginx限流

一、limit_conn_zone

http {

    limit_conn_zone $binary_remote_addr zone=one:10m; 
    
    server {
        limit_conn one 10;
    }

}

其中limit_conn one 10既可以放在server层对整个server有效,也可以放在location中只对单独的location有效。
该配置表明:客户端的并发连接数只能是10个。

二、limit_req_zone

http {

    limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s; 
    
    server {
        limit_req zone=req_one burst=120;
    } 

}

其中limit_req zone=req_one burst=120既可以放在server层对整个server有效,也可以放在location中只对单独的location有效。
rate=1r/s的意思是每个地址每秒只能请求一次,也就是说令牌桶burst=120一共有120块令牌,并且每秒钟只新增1块令牌,120块令牌发完后,多出来的请求就会返回503.。

三、ngx_http_upstream_module

upstream serverList {
    server 127.0.0.1:8080 max_conns=10;
    server 127.0.0.1:8081 max_conns=10;
}

你可能感兴趣的:(nginx)