Apache下使用Bandwidth Mod限制总带宽
来源:岁月联盟
时间:2012-02-23
环境:
CentOS release 5.6 + Apache 2.2.22
mod_bw v0.92
http://ivn.cl/files/source/mod_bw-0.92.tgz
mod_bw v0.92 文档
http://legacy.ivn.cl/files/txt/mod_bw-0.92.txt
下载及安装:
#wget http://ivn.cl/files/source/mod_bw-0.92.tgz
#tar zxvf mod_bw-0.92.tgz
#/data/apps/httpd2.2.22/bin/apxs -c -i -a mod_bw.c
配置VirtualHost
<VirtualHost *:80>
DocumentRoot /data/webapps/www.domain.com
ServerName www.domain.com
<Location />
SetEnvIfNoCase User-Agent "Googlebot" google
Order allow,deny
Allow from all
deny from env=google
</Location>
BandWidthModule On
ForceBandWidthModule On
BandWidth all 131072
</VirtualHost>
其中<Location />***</Location> 段是为了拒绝Googlebot的抓取用的。
在没有暴露链接地址的情况下,Google老来抓取文件,原因不明。
当然这个可以robots.txt里面写上,但没这个见效快。
下面是两个概念(注意区分大小写):
bps ( bits per second ) 位/秒 一般用作传输速率
Bps ( bytes per second ) 字节/秒 一般用作显示速度
1Byte = 8*1bit (1字节=8字位)
而我们通常所讲的2M带宽、10M带宽,一般是指10Mbit (10Mbps)
官方文档上BandWidth的单位:BandWidth [From] [bytes/s]
所以如果要限制某个虚拟主机的总带宽为1M,则:
BandWidth all 131072
// (1024*1024) bps/8 = 131072 Bps
摘自 JOM_CH