小知识:nginx请求限制配置方法

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协议的连接与请求的图解

%小知识:nginx请求限制配置方法-猿站网-插图

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页面

<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>

浏览器访问如下图

%小知识:nginx请求限制配置方法-1猿站网-插图

2、编辑nginx.conf配置文件

[root@localhost /]# vim /etc/nginx/nginx.conf

%小知识:nginx请求限制配置方法-2猿站网-插图

3、在http块中添加如下配置

#$binary_remote_addr表示客户端的地址; #zone=req_zone表示同一个客户端地址发起的请求的存储空间名称 #1r/s 表示每秒一次 limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;

%小知识:nginx请求限制配置方法-3猿站网-插图

4、在http块的location块中添加如下配置

#nginx连接请求限制的配置 location / { root /opt/app/html; limit_req zone=req_zone; }

%小知识:nginx请求限制配置方法-4猿站网-插图

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

%小知识:nginx请求限制配置方法-5猿站网-插图

6、重新加载配置文件

[root@localhost /]# systemctl reload nginx

%小知识:nginx请求限制配置方法-6猿站网-插图

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请求限制配置方法-7猿站网-插图

到此这篇关于nginx请求限制配置方法的文章就介绍到这了,更多相关nginx请求限制内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/li1325169021/article/details/118583207

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:nginx配置虚拟主机的详细步骤

2023-3-24 1:05:24

建站知识

小知识:使用goaccess分析nginx日志的详细方法

2023-3-24 1:24:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索