最新消息: 新版网站上线了!!!

Apache设定访问数量及下载速度限制

#tar xvf mod_bw-0.8.gz

 

       # cd mod_bw

 

       # /opt/apache/bin/apxs -ac mod_bw.c

 

      # gcc -shared -p /opt/apache/module/mod_bw.so mod_bw.o

 

       #/opt/apache/bin/apxs -i -a -c mode_bw.c

 

      然后在apache配置文件里面按照需要添加限制即可。

 

<VirtualHost *:80>

 

        DocumentRoot "/web/linuxidc"

 

        ServerName www.linuxidc.com

 

 

        BandwidthModule On

 

        ForceBandWidthModule On

 

        Bandwidth all 1024000

 

        MinBandwidth all 50000

 

        LargeFileLimit * 500 100000   // *表示文件类型,所有大于500k的文件下载速度100k , 这里我当时以为两个单位一样的。。。

 

</VirtualHost>

 

附录:

 

mod_bandwidth选项简单说明:

 

BandWidthPulse 

格式: BandWidthPulse <毫秒(千分之一秒>; 

默认: 1000 

上下文: per server config

 

改变计算带宽的时间间隔,默认为1000毫秒(1秒)。使用更低的间隔可以获得 

更精确的带宽控制,但消耗更多的CPU时间,反之亦然。

 

BandWidth 

格式: BandWidth <domain|ip|all>; <速率>; 

默认: 无 

上下文: per directory, .htaccess

 

限制这个目录下文件下载的速率。

 

domain 指定来自哪个域的连接受到这个设置的影响。 

ip 指定来自哪个ip地址(或者ip段)的连接受到影响。 

all 所有连接都受到影响。

 

示例:

 

<Directory />; 

# 来自 idcfree.com 的连接不限制下载速度 

BandWidth idcfree.com 0 

# 来自 192.168.0.0/16(或者192.168.0) 网段的连接不限制下载速度 

BandWidth 192.168.0.0/16 0 

# 其他连接限制下载速度为每秒1024字节 

BandWidth all 1024 

# 越前面的设置优先权越高 

</Directory>;

 

LargeFileLimit 

格式: LargeFileLimit <文件大小>; <速率>; 

默认: 无 

上下文: per directory, .htaccess

 

对于超过指定大小的文件,下载时使用的速率。如果速率设置0即不限制速度, 

但下载速度仍然要受到BandWidth设置的影响。如果设置成-1,则完全不受影响。 

通过设置不同的文件大小和速率,可以设置不同大小范围内文件的下载速度。

 

示例:

 

文件尺寸大于等于200千字节的文件,下载速率为每秒3072字节 

LargeFileLimit 200 3072 

LargeFileLimit 1024 2048 

MaxConnection 

格式: MaxConnection <连接数>; 

默认: 0 (不限制) 

上下文: per directory, .htaccess

 

当超过指定连接数时,拒绝新的连接。

 

MinBandWidth 

格式: MinBandWidth <domain|ip|all>; <速率>; 

默认: all 256 

上下文: per directory, .htaccess

 

设置最小带宽,默认为每秒256字节。根据BandWidth和LargeFileLimit设置的速 

率。mod_bandwidth会计算允许的连接数。例如BandWidth为4096字节,而 

MinBandWidth为1024字节,则最大并发连接数为4。

 

Mod_limitipconn选项简单说明:

 

<Location / >;                         设置要控制的目录 

MaxConnPerIP 2                      限制单IP并发连接数 

NoIPLimit image/*                    不受限制的文件类型 

</Location>; 

<Location /mp3>; 

MaxConnPerIP 1 

OnlyIPLimit audio/mpeg video           仅用于限制的文件类型 

</Location>; 

 

顺便附上单位转换。

 

位(bit,简写:b)

字节(Byte,简写:B);1Byte=8bit

 

千(Kilo,简写:K); x1,000

兆(Mega,简写:M); x1,000,000 =1000K

吉(Giga,简写:G); x1,000,000,000 =1000M

梯(      简写:T); x1,000,000,000,000 =1000G

 

由于计算机系统为二进制算法,实际进位为1024,有时计算容量时又忽略小数字,记为1000进位。因此会出现显示字节数和标称字节数有差别。

 

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

转载请注明:谷谷点程序 » Apache设定访问数量及下载速度限制