Nginx中可以通过limit_zone模块限制来自同一个IP的并发连接数。
>[success]limit_zone zone_name variable memory_max_size
上下文:http
zone_name: zone名称
variable:变量
memory_max_size:可在内存中存储会话状态的空间
### 可存储的会话数量计算
variable使用`$binary_remote_addr`,他的长度是4字节,而`$remote_addr`需要7~15字节,因此使用`$binary_remote_addr`更高效。
可存储的会话数量 : `1M/32=32768`
>[success]limit_conn zone_name max_client_per_ip
上下文:http, server, location
为一个会话设置最大并发连接数,超过将返回503
### 示例
~~~
limit_zone one $binary_remote_addr 1M;
server {
location /download {
limit_conn one 1;
}
}
~~~
- nginx的功能
- nginx常用变量
- Nginx内核模块
- Nginx的事件模块
- Nginx的HTTP模块
- Nginx的fastcgi
- nginx的proxy
- Upstream实现后台服务器集群
- 文件操作优化相关的配置
- Nginx模块管理和进程管理
- 模块管理
- 进程管理
- 针对Nginx的Linux系统优化
- Nginx如何处理一个请求
- nginx状态信息
- Nginx工具
- Nginx限制流量
- Nginx限制用户的并发连接数
- 配置FLV服务器
- Nginx访问控制
- Nginx自动索引
- Nginx网页压缩传输
- 控制Nginx如何记录日志
- Nginx改写响应
- Nginx重写
- 后台Nginx记录原始原始IP
- Nginx防盗链
- Nginx的https