在Apache windows 版本下实现虚拟主机限速
转自:http://blog.cntv.cn/11430895-3092800.html
最近GzNow其中一台服务器的宽带有点紧张.
原因是联盟站点上有的站长上传的MP3被百度或者迅雷刮到了..或者是因绝对地址被盗链了..
害得服务器的宽带几乎全时90%...
看awstats日志.知道哪个虚拟主机流量最多.开始动手!.
在Google搜了一遍..发现apache 对虚拟主机进行实时限速的模块也有好几个.但就偏偏for windows的很少..文档也很少..好不容易才找到了一篇.
Bw_mod可以根据来源IP进行带宽限制。
下载for windows 版本编译好的:http://www.ivn.cl/files/dlls/mod_bw-0.8-2.2.6/mod_bw.dll
也可以直接打开该站点的首页寻找对应的apache版本. http://www.ivn.cl/
1. 安装mod_bw.dll模块
把下载的mod_bw.dll放到 Apache2.x\modules\目录中。
2. 修改Apache的配置文件httpd.conf
在 Apache2.x\conf\httpd.conf文件中增加:
# 限制网速模块
LoadModule bw_module modules/mod_bw.dll
3. 在虚拟主机中激活bw_module模块
要是对所有的主机都做限制可以在配置文件:Apache2.x\conf\httpd.conf中增加:
ServerAdmin qbanke@163.com
DocumentRoot E:\WebServer\test1_com
ServerName www.test.com
CustomLog E:\logs\apache\test\test1_com-access.log combined
# 加入速度控制mo
BandWidthModule On
ForceBandWidthModule On
BandWidth all 409600
#---------------------------------------------------
#上边的意思是
#开启模块
#所有的请求都要经过这个模块的处理
#限制该虚拟主机可使用的总宽带为4M
#
#---------------------------------------------------
# 附上一般的使用说明
#
# BandWidthModule On
# ForceBandWidthModule On
# 所有的请求都要经过这个模块的处理
# BandWidth all 204800
# 总IP最大流量(0为不限制)
# MinBandWidth all 51200
# 总IP开启后,每IP自动分割最小流量(这个好像没什么效果..研究中)
# MaxConnection all 100
# 本目录最大连接数
# LargeFileLimit .rmvb 20 20000
# 限制所有大于20K的后缀名为.rmvb的文件下载速度是20K/S