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

标签:Nginx, limit, speed, module, 速度

添加新评论