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站点配置SSL强制跳转443
Mar 09 Servers
Nginx解决前端访问资源跨域问题的方法详解
Mar 31 Servers
nginx结合openssl实现https的方法
Jul 25 Servers
教你快速构建一个基于nginx的web集群项目
Nov 27 Servers
Kubernetes控制节点的部署
Apr 01 Servers
Nginx反向代理、重定向
Apr 13 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
netty 实现tomcat的示例代码
Jun 05 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
Jul 07 Servers
源码安装apache脚本部署过程详解
Sep 23 Servers
CentOS7设置ssh服务以及端口修改方式
Dec 24 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
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
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
PHP PDOStatement::fetchColumn讲解
2019/01/31 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
python实现中文分词FMM算法实例
2015/07/10 Python
简单实现python爬虫功能
2015/12/31 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
django中send_mail功能实现详解
2018/02/06 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
前台领班岗位职责
2013/12/04 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
打造完美自荐信
2014/01/24 职场文书
仓管员岗位责任制
2014/02/19 职场文书
证婚人致辞精选
2015/07/28 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript