nginx限制总带宽之nginx_limit_speed_module
1. 介绍
该模块能够限制从一个IP地址同时连接的总速度。
2. 指令
limit_speed_zone
语法:limit_speed_zone zone_name $variable memory_max_size
默认值:no
配置段:http
定义会话状态存储空间。会话的数目由所分配的变量$variable决定,该值取决于memory_max_size值。
如:limit_speed_zone one $binary_remote_addr 10m;
客户端的地址被用作会话。
注意:该变量$binary_remote_addr
是用来代替$remote_addr
。$remote_addr
变量值的长度是7到15个字节。因此状态大小等于32或64字节。$binary_remote_addr
变量值的长度总是4个字节,因此状态大小始终是32字节。
1M共享空间可以处理3.2万个会话,每个会话32字节。
limit_speed
语法:limit_speed zone_name max_speed
默认值:no
配置段:http,server,location
该指令指定同一个IP的最大速度。
例如:如果限制每个IP地址的最大速度为100KB,同时同一个IP有10个并发连接,那么每个连接的速度为10KB。
3. 安装方法
git clone https://github.com/yaoweibin/nginx_limit_speed_module.git
cd nginx_limit_speed_module
./configure –prefix=/usr/local/nginx –-add-module=../nginx_limit_speed_module
make & make install
4. 实例
http {
limit_speed_zone www_2dan_cc $binary_remote_addr 10m;
server {
location /download/ {
limit_speed www_2dan_cc 100k;
}
}
}
nginx_limit_speed_module 项目地址:
https://github.com/yaoweibin/nginx_limit_speed_module