在网络环境中,流量与带宽是有限的资源。为了防止单个客户将服务器的带宽占用完毕,可以对apache进行配置,安装mod_cband模块,对访问apache的客户进行宽带限制。mod_cband 模块是一个在apache下对每个用户、每个虚拟主机、每个客户端的带宽进行限制的限制器。

下载必要插件:
mod_cband-0.9.7.2.tgz

安装mod_cband插件:
# tar  xf  mod-cband-0.9.7.5.tgz  -C  /usr/src/
# cd  /usr/src/mod-cband-0.9.7.5/
# ./configure  --with-apxs=/usr/local/apache2/bin/apxs
# make && make install

验证生成的模块:
/usr/local/apache2/modules/mod_cband.so

主配置文件添加mod_cband模块:
vim  httpd.conf
LoadModule cband_module       modules/mod_cband.so  <- 验证

配置虚拟主机,支持mod_cband限速模块:
# vim  /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost  *:80>
    DocumentRoot  "/apache"        //虚拟主机数据目录
    ServerName     www.sxkeji.com    //访问域名
    ErrorLog  "/var/log/httpd/sxkeji-error.log"     //错误日志
    CustomLog "/var/log/sxkeji-access.log" combined    //访问日志
       
    CBandLimit 100M               #虚拟主机总访问带宽限制为100Mb
    CBandSpeed 1024 10 30    #限制此虚拟主机最高访问速度1024kbps,每秒最多并发处理10个请求,这个虚拟主机最多打开30个链接
    CBandRemoteSpeed 10kb/s  3 2    #限定一个远端客户最多能有10kb的链接速度,每秒最多并发3个请求,最多2个链接
     CBandPeriod 4W            #设定对记录的全局访问带宽进行重置时间,默认4W=4weeks 4周   

       <Location /cband-status>
        SetHandler cband-status
       </Location>                #开启mod_cband的实时监测功能,可以通过http://IP/cband-status进行网页监控        
</VirtualHost>