Rumah > Operasi dan penyelenggaraan > Nginx > nginx实现限流的方式有哪几种

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

王林
Lepaskan: 2020-06-22 17:08:08
ke hadapan
3668 orang telah melayarinya

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

通过查看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; 
  ...... 
 } 
}
Salin selepas log masuk

其中“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; 
  ...... 
 } 
}
Salin selepas log masuk

其中“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; 
 
}
Salin selepas log masuk

Atas ialah kandungan terperinci nginx实现限流的方式有哪几种. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan