在网络环境中,流量与带宽是有限的资源。为了防止单个客户将服务器的带宽占用完毕,可以对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>