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


本文摘自PHP中文网,作者V,侵删。

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

(推荐教程:nginx教程)

1、limit_conn_zone

2、limit_req_zone

3、ngx_http_upstream_module

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

一、limit_conn_zone

nginx配置

1

2

3

4

5

6

7

8

9

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配置

1

2

3

4

5

6

7

8

9

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配置

1

2

3

4

5

6

7

upstream xxxx{

  

 server 127.0.0.1:8080 max_conns=10;

  

 server 127.0.0.1:8081 max_conns=10;

  

}

以上就是nginx实现限流的方式有哪几种的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

nginx如何做负载均衡

centos7怎么安装nginx-yum方式

你知道nginx怎样查看并发连接数么

centos使用yum安装nginx提示找不到包怎么办

nginx服务器上,master进程和worker进程分别是什么

nginx默认端口是多少

nginx如何在linux环境下卸载

nginx如何隐藏后缀名php

varnish nginx区别

nginx为什么比apache快

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...