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 相关文章推荐
nginx基于域名,端口,不同IP的虚拟主机设置的实现
Mar 31 Servers
Nginx服务器如何设置url链接
Mar 31 Servers
Nginx图片服务器配置之后图片访问404的问题解决
Mar 21 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
Tomcat执行startup.bat出现闪退的原因及解决办法
Apr 20 Servers
Apache Hudi 加速传统的批处理模式
Apr 24 Servers
centos7安装mysql5.7经验记录
May 02 Servers
讨论nginx location 顺序问题
May 30 Servers
Windows server 2012 NTP时间同步的实现
Jun 25 Servers
Nginx配置使用详解
Jul 07 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
Aug 05 Servers
keepalived + nginx 实现高可用方案
Dec 24 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获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
python下10个简单实例代码
2017/11/15 Python
python编写分类决策树的代码
2017/12/21 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
python实现单机五子棋
2020/08/28 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
外贸英语专业求职信范文
2013/12/25 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
见习期个人总结
2015/03/05 职场文书
招商银行工作证明
2015/06/17 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL