nginx限制并发连接请求数的方法


Posted in Servers onApril 01, 2021

简介

限制并发连接数的模块为:http_limit_conn_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

限制并发请求数的模块为:http_limit_req_module,地址:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

这两个模块都是默认编译进Nginx中的。

限制并发连接数

示例配置:

http {
	limit_conn_zone $binary_remote_addr zone=addr:10m;
  #limit_conn_zone $server_name zone=perserver:10m;
  
  server {
    limit_conn addr 1;
    limit_conn_log_level warn;
    limit_conn_status 503;
  }
}

limit_conn_zone key zone=name:size; 定义并发连接的配置

  • 可定义的模块为http模块。
  • key关键字是根据什么变量来限制连接数,示例中有binary_remote_addr、$server_name,根据实际业务需求。
  • zone定义配置名称和最大共享内存,若占用的内存超过最大共享内存,则服务器返回错误

示例中的$binary_remote_addr是二进制的用户地址,用二进制来节省字节数,减少占用共享内存的大小。

limit_conn zone number; 并发连接限制

  • 可定义模块为http、server、location模块
  • zone为指定使用哪个limit_conn_zone配置
  • number为限制连接数,示例配置中限制为 1 个连接。

limit_conn_log_level info | notice | warn | error ; 限制发生时的日志级别

  • 可定义模块为http、server、location模块

limit_conn_status code; 限制发生时的返回错误码,默认503

  • 可定义模块为http、server、location模块

限制并发请求数

limit_req_zone key zone=name:size rate=rate; 定义限制并发请求的配置。

  • 若占用的内存超过最大共享内存,则服务器返回错误响应
  • rate定义的是请求速率,如10r/s 每秒传递10个请求,10r/m 每分钟传递10个请求

limit_req zone=name [burst=number] [nodelay | delay=number];

  • zone 定义使用哪个 limit_req_zone配置
  • burst=number 设置桶可存放的请求数,就是请求的缓冲区大小
  • nodelay burst桶的请求不再缓冲,直接传递,rate请求速率失效。
  • delay=number 第一次接收请求时,可提前传递number个请求。

limit_req_log_level info | notice | warn | error; 限制发生时的日志级别

  • 可定义模块为http、server、location模块

limit_req_status code;限制发生时的错误码

  • 可定义模块为http、server、location模块

示例配置1

http {
  limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
  limit_req zone=one burst=5;
}

请求速率为每秒传递1个请求。burst桶大小可存放5个请求。超出限制的请求会返回错误。

示例配置2

http {
  limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
  limit_req zone=one burst=5 nodelay;
}

示例配置2是在示例配置1当中添加了nodelay选项。那么rate请求速率则不管用了。会直接传递burst桶中的所有请求。超出限制的请求会返回错误。

示例配置3

http {
  limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
  limit_req zone=one burst=5 delay=3;
}

示例配置3是在示例配置1当中添加了delay=3选项。表示前3个请求会立即传递,然后其他请求会按请求速率传递。超出限制的请求会返回错误。

到此这篇关于nginx限制并发连接请求数的方法的文章就介绍到这了,更多相关nginx限制并发连接请求数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
使用Apache的rewrite
Mar 09 Servers
为什么 Nginx 比 Apache 更牛逼
Mar 31 Servers
fastdfs+nginx集群搭建的实现
Mar 31 Servers
nginx配置文件使用环境变量的操作方法
Jun 02 Servers
使用Nginx搭载rtmp直播服务器的方法
Oct 16 Servers
nginx中proxy_pass各种用法详解
Nov 07 Servers
Nginx工作模式及代理配置的使用细节
Mar 21 Servers
iSCSI服务器CHAP双向认证配置
Apr 01 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
利用Apache Common将java对象池化的问题
Jun 16 Servers
彻底卸载VMware虚拟机的超详细步骤记录
Jul 15 Servers
win7配置本地ftp服务器的图文教程
Aug 05 Servers
Nginx已编译的nginx-添加新模块
Nginx下配置Https证书详细过程
详解Nginx启动失败的几种错误处理
Apr 01 #Servers
Nginx 根据URL带的参数转发的实现
Apr 01 #Servers
Nginx Rewrite使用场景及配置方法解析
Nginx解决403 forbidden的完整步骤
Apr 01 #Servers
详解nginx.conf 中 root 目录设置问题
Apr 01 #Servers
You might like
PHP cron中的批处理
2008/09/16 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
简单谈谈python中的多进程
2016/11/06 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
实例详解Python模块decimal
2019/06/26 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
python如何实现异步调用函数执行
2019/07/08 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
大客户销售经理职责
2013/12/04 职场文书
代办委托书怎样写
2014/04/08 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
与死神共舞观后感
2015/06/15 职场文书
经营场所证明范本
2015/06/19 职场文书
个人合作协议范本
2015/08/06 职场文书
2016年学校“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS