在網絡環境中,流量與帶寬是有限的資源。爲了防止單個客戶將服務器的帶寬佔用完畢,能夠對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>