且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

bw_mod模块让你的Apache也能实现流量限制

更新时间:2022-09-21 12:26:49

 由于工作上的需求,要对Apache环境下的网站进行限速,因为网站上要添加一个下载的项目,如果没有一个下载限制的话,网站的带宽会被耗尽,但是要求还不能用第三方软件来限制,想了想只能从Apache的一些扩展功能来下手了,我想这也是Apache的一大优势吧。

  对于Apache的流量限制,我们可以使用bw_mod流量控制模块来实现,简单、方便,没有过多复杂的设置,最重要的是几乎不会影响线上正常业务的应用,下面简单介绍一下模块的使用方法。

一、模块下载

  大家可以到http://apache.ivn.cl/这个网站上下载相应版本的模块,我使用的是0.92版本的。

二、模块安装

  说明一下我这里的测试环境是Linux Red Hat5,Apache是源码包安装的2.2版本,按照下面的步骤来安装模块。

    tar zxf mod_bw-0.92.tgz   //解压模块
    /usr/local/apache2/bin/apxs -i -a -c mod_bw.c   //安装模块

  很简单的步骤就可以安装完模块了,如果顺利的话在httpd.conf配置文件中会看到增加了如下条目。

    LoadModule bw_module          modules/mod_bw.so

  但光有这一个条件是不够的,我们要在其下面继续添加如下条目。

    BandWidthModule On   //开启流量限制
    ForceBandWidthModule On   //强制限制所有连接
    BandWidth  all 0   //总带宽不限制
    LargeFileLimit .rar 100000 23000

  按照以上方法就可以添加一个流量限制规则,我这里所添加的是对所有以rar后缀结尾的软件限制,只要此软件大于100M,就限制其下载速度为23k/秒。这里要注意一下单位的写法,前面是以k为单位,100000即100M,后面是以字节为单位,23000即23k。

  完成配置之后我们重新启动Apache,然后在Apache的网页目录中放一个软件来测试一下了,可以看到下载的速度已经被限制到了23k以内了。

写在最后

  一个很小的模块就可以让Apache帮助我们实现很多功能,我想这也正是Apache的一大优势,灵活以及人性化,这里没有介绍过多关于此模块的使用方法,只是简单的一个限制流量的思路,其实还有更多种方法来实现。

  原创文章首发自阿布的博客,转载请注明,本文地址:http://www.abuve.com/401.html





     本文转自阿布ve 51CTO博客,原文链接:http://blog.51cto.com/abuve/656380,如需转载请自行联系原作者