nginx配置详解(nginx请求限制配置方法)
nginx配置详解
nginx请求限制配置方法Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:
在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
- limit_conn_module 连接频率限制
- limit_req_module 请求频率限制
1、HTTP协议的连接与请求的概念
- HTTP请求是建立在一次TCP连接基础之上,完成一次http协议的请求先要进行tcp的三次握手。
- 在TCP连接的基础之上再建立HTTP的请求,一次TCP请求至少产生一次HTTP请求。
2、HTTP协议的连接与请求的图解
3、HTTP协议的连接与请求的版本关系
HTTP协议版本
连接关系
HTTP1.0
TCP不能复用
HTTP1.1
顺序性TCP复用
HTTP2.0
多路复用TCP复用
1、limit_conn_zone的配置语法
- Syntax:limit_conn_zone key zone=name:size; limit_conn_zone表示申请的连接存储空间。key 表示连接以哪个作为key,例如以客户端的ip作为key,限制的就是客户端的ip。zone=name表示申请的存储空间的名称。size表示申请的存储空间的大小
- Default:—— 表示默认没有配置
- Context:http 表示需要在http块中进行配置
2、limit_conn的配置语法
- Syntax:limit_conn zone number; zone表示limit_conn_zone中申请的存储空间的名称,number表示并发请求的限制,即同一时间限制连接数
- Default:—— 表示默认没有配置
- Context:http,server,location 表示需要在http块或server块或location块中进行配置
1、limit_req_zone的配置语法
- Syntax:limit_req_zone key zone=name:size rate=rate; limit_req_zone表示申请的连接存储空间。key 表示连接以哪个作为key,例如以客户端的ip作为key,限制的就是客户端的ip。zone=name表示申请的存储空间的名称。size表示申请的存储空间的大小。rate表示请求的限制是多大,指的是一个限制的单位(以秒为单位)
- Default:—— 表示默认没有配置
- Context:http 表示需要在http块中进行配置
2、limit_req的配置语法
- Syntax:limit_req zone=name [burst = number] [nodelay]; zone=name表示limit_req_zone中申请的存储空间的名称;burst = number表示超过了设置的速率以后,遗留的请求数量放到下一秒执行;
- Default:—— 表示默认没有配置
- Context:http,server,location 表示需要在http块或server块或location块中进行配置
1、先创建是一个submodule.html页面,上传到/opt/app/html目录下,以便配置好sub_module模块编译参数后访问/opt/app/html目录下的submodule.html页面,查看替换的内容。
submodule.html页面
<html> <head> <meta charset="utf-8"> <title>submodule</title> </head> <body> <a>html</a></br> <a>xml</a></br> <a>json</a></br> <a>xml</a></br> <a>jsp</a></br> <a>html</a> </body> </html>
浏览器访问如下图
2、编辑nginx.conf配置文件
[root@localhost /]# vim /etc/nginx/nginx.conf
3、在http块中添加如下配置
#$binary_remote_addr表示客户端的地址; #zone=req_zone表示同一个客户端地址发起的请求的存储空间名称 #1r/s 表示每秒一次 limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;
4、在http块的location块中添加如下配置
#nginx连接请求限制的配置 location / { root /opt/app/html; limit_req zone=req_zone; }
5、检查配置修改的配置文件是否正确,返回successful表示配置文件修改无错。否则检查配置文件语法。
6、重新加载配置文件
[root@localhost /]# systemctl reload nginx
7、借助ab压力测试工具做并发请求
ab压力测试工具的安装参考lz此博文链接:https://wwwxz.blog.csdn.net/article/details/118584751
#-n表示发起请求次数,-c表示并发请求次数 [root@localhost ~]# ab -n 20 -c 10 http://localhost/submodule.html
到此这篇关于nginx请求限制配置方法的文章就介绍到这了,更多相关nginx请求限制内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- vue项目部署到服务器的nginx(Nginx部署vue项目和配置代理的问题解析)
- nginx服务器怎么屏蔽爬虫(nginx 防盗链防爬虫配置详解)
- nginx安全配置提示(wdcp Linux面板nginx启用gzip后js未压缩解决方案)
- nginx把https转为http请求(使用nginx方式实现http转换为https的示例代码)
- nginx负载均衡高怎么用(Nginx + consul + upsync 完成动态负载均衡的方法详解)
- 如何设置nginx使用ip访问(nginx基于域名,端口,不同IP的虚拟主机设置的实现)
- nginx-rtmp-module 配置(Nginx搭建rtmp直播服务器实现代码)
- windows下nginx 命令(win10安装配置nginx的过程)
- nginx配置文件的几大模块(nginx简单配置多个server的方法)
- nginx 重置端口号(详解如何修改nginx的默认端口)
- nginx配置目录(nginx配置文件使用环境变量的操作方法)
- 内网nginx配置https详解(Nginx如何配置Http、Https、WS、WSS的方法步骤)
- nginx 反向代理详细配置(nginx反向代理配置去除前缀案例教程)
- nginx报错处理(Nginx报504 gateway timeout错误的解决方法)
- nginx配置使用环境变量(关于Nginx开启gzip的配置的问题)
- nginx前后端跨域(Nginx解决前端访问资源跨域问题的方法详解)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
热门推荐
- 使用canvas画个正方形(canvas绘制树形结构可视图形的实现)
- php7 入门(php7新特性的理解和比较总结)
- 更改docker容器的ip地址(docker容器通过ping直接运行获取公网IP操作)
- python柱状图第四节(python使用Plotly绘图工具绘制柱状图)
- zabbix支持oracleodbc功能吗(使用zabbix监控oracle数据库的方法详解)
- mysql8.0.23的安装步骤(mysql 8.0.22 下载安装配置方法图文教程)
- springbootvue数据交互系统(Springboot运用vue+echarts前后端交互实现动态圆环图)
- sqlserver游标实例(Sql Server临时表和游标的使用小结)
- vue用于动态切换组件的内置组件(Vue 可拖拽组件Vue Smooth DnD的使用详解)
- 阿里云rds移动数据库(阿里云跨区域服务器迁移镜像迁移,RDS数据库迁移图文教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9