国内外主机
测评及优惠码

nginx实现限流的方式有哪几种

通过查看nginx官方文档可以得知,有三种nginx限流方式,分别是:

1、limit_conn_zone

2、limit_req_zone

3、ngx_http_upstream_module

这里简单的介绍一下以上三种方式:

一、limit_conn_zone

nginx配置

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

nginx配置

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

nginx配置

upstream xxxx{

 

server 127.0.0.1:8080 max_conns=10;

 

server 127.0.0.1:8081 max_conns=10;

 

}

以上就是nginx实现限流的方式有哪几种的详细内容,

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《nginx实现限流的方式有哪几种》
文章链接:https://www.ibytx.com/12957.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

登录

找回密码

注册