• 售前

  • 售后

热门帖子
入门百科

nginx请求限定设置方法

[复制链接]
向往草原403 显示全部楼层 发表于 2021-8-14 14:16:42 |阅读模式 打印 上一主题 下一主题
Nginx 是一个很强盛的高性能Web和反向署理服务,它具有很多非常优越的特性:
在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做捏造主机生意的老板们常常选择的软件平台之一。可以大概支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开辟模子。
一、Nginx的哀求限制

       
  • limit_conn_module 连接频率限制   
  • limit_req_module 哀求频率限制
二、HTTP协议的连接与哀求

1、HTTP协议的连接与哀求的概念
       
  • HTTP哀求是创建在一次TCP连接基础之上,完成一次http协议的哀求先要举行tcp的三次握手。   
  • 在TCP连接的基础之上再创建HTTP的哀求,一次TCP哀求至少产生一次HTTP哀求。
2、HTTP协议的连接与哀求的图解

3、HTTP协议的连接与哀求的版本关系
            HTTP协议版本            连接关系                                    HTTP1.0            TCP不能复用                            HTTP1.1            顺序性TCP复用                            HTTP2.0            多路复用TCP复用        
三、Nginx连接限制的配置语法

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块中举行配置
四、Nginx哀求限制的配置语法

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块中举行配置
五、Nginx哀求限制的配置演示

1、先创建是一个submodule.html页面,上传到/opt/app/html目录下,以便配置好sub_module模块编译参数后访问/opt/app/html目录下的submodule.html页面,检察更换的内容。
submodule.html页面
  1. <html>
  2.         <head>
  3.                 <meta charset="utf-8">
  4.                 <title>submodule</title>
  5.         </head>
  6.         <body>
  7.                 <a>html</a></br>
  8.                 <a>xml</a></br>
  9.                 <a>json</a></br>
  10.                 <a>xml</a></br>
  11.                 <a>jsp</a></br>
  12.                 <a>html</a>
  13.         </body>
  14. </html>
复制代码
欣赏器访问如下图

2、编辑nginx.conf配置文件
  1. [root@localhost /]# vim /etc/nginx/nginx.conf
复制代码

3、在http块中添加如下配置
  1. #$binary_remote_addr表示客户端的地址;
  2. #zone=req_zone表示同一个客户端地址发起的请求的存储空间名称
  3. #1r/s 表示每秒一次
  4. limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;
复制代码

4、在http块的location块中添加如下配置
  1. #nginx连接请求限制的配置
  2. location / {
  3.     root /opt/app/html;
  4.     limit_req zone=req_zone;
  5. }
复制代码

5、查抄配置修改的配置文件是否正确,返回successful表现配置文件修改无错。否则查抄配置文件语法。

6、重新加载配置文件
  1. [root@localhost /]# systemctl reload nginx
复制代码

7、借助ab压力测试工具做并发哀求
ab压力测试工具的安装参考lz此博文链接:https://wwwxz.blog.csdn.net/article/details/118584751
  1. #-n表示发起请求次数,-c表示并发请求次数
  2. [root@localhost ~]# ab -n 20 -c 10 http://localhost/submodule.html
复制代码

到此这篇关于nginx哀求限制配置方法的文章就介绍到这了,更多相干nginx哀求限制内容请搜刮草根技术分享以前的文章或继续欣赏下面的相干文章渴望各人以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作