mod_limitipconn和bw_mod的使用

湖南教材网站准备加入一些FLASH视频的元素,目前还是以flv文件格式提供flash方式的视频流,如同目前比较流行的博客网站的视频播放形式,这种方式还是利用http方式下载,只不过可以依靠flash实现流下载,即边下载边播放。

为了提高http下载的效率和质量,节约利用带宽,今天用apache的一些限制功能来控制这些视频下载播放,主要是两个方面,一个是带宽限制,一个是连接数的限制,apache的版本是2.0.53。

带宽限制通过bw_mod模块来实现,官网地址: http://www.ivn.cl/apache/

安装和使用方式比较简单,附带文档也有说明。我是用DSO安装的apache,所以也使用apxs来安装插件,指令如下:
bash# apxs -i -a -c mod_bw.c

apache.conf一些基本调用方式:

BandWidthModule On
ForceBandWidthModule On
BandWidth  211.67.64.0/255.255.255.0 100000      //211.67.64.0的用户带宽限制为100K
BandWidth  all 10000                                                //其他用户带宽限制为10K
LargeFileLimit   .avi 500 10000                                  //文件大小超过500K的avi文件限制为10K

// 定义错误码和错误页面
ErrorDocument 510 /errors/maxconexceeded.html
BandWidthError 510

http连接控制通过mod_limitipconn模块来实现,官方地址:http://dominia.org/djao/limitipconn2.html

我仍然使用DSO的方式来安装这个插件,命令如下:
bash# tar xzvf mod_limitipconn-0.22.tar.gz
bash# cd mod_limitipconn-0.22
bash# make install
注意,这里可能需要修改MakeFile文件,修改一下默认的apxs和apachectl的路径到当前位置;

mod_limitipconn的基本调用方式:

ExtendedStatus On
LoadModule limitipconn_module mod_limitipconn.so

<IfModule mod_limitipconn.c>
   <Location /somewhere>
 MaxConnPerIP 3
 # 在此目录中,除了image文件之外每IP最多保持3个连接
 NoIPLimit image/*
   </Location>

   <Location /mp3>
 MaxConnPerIP 1
 # 在此目录中,对于audio音频文件每IP最多保持1个连接
 OnlyIPLimit audio/mpeg video
   </Location>
</IfModule>

配置完成后,通过flash下载测试基本满足要求。

发表评论