CentOS4.5 httpd加裝mod_bandwidth模組



贊助商連結


小島大和
2007-08-14, 07:33 AM
昨天的網路真是癱瘓阿…

因為開給友人一個放桌圖的帳號@@

http://wallpaper.imkojima.info/

昨天就有人在猛抓@@不知道是多線還是多位(感覺上都有)

嚴重影響到我上網(ADSL4M/1M)上傳嚴重吃死狀態中下載是會呈現死亡狀態的@@

所以就想到apache好像有流量管制模組!

馬上上網查了一下資料!

果然是有的全名是mod_bandwidth~

二話不說趕快下載安裝!

模組官網是:Ivan Barrera A. (Bruce)網站http://www.ivn.cl/apache/#bandwidth

Unix的話是下載要編譯的檔案

[root@imkojima~]#wget http://www.ivn.cl/apache/files/source/mod_bw-0.8.tgz

[root@imkojima~]#tar -zxf mod_bw-0.8.tgz

[root@imkojima~]#cd mod_bw

[root@imkojima mod_bw]#apxs -i -a -c mod_bw.c

apxs -i -a -c mod_bw.c這裡開始出現問的了,會出現bash: apxs: command not found

CentOS並不知道apxs是什麼東西@@它並不認識(redhat應該就沒這個問題了)

除了它本身不認識那就直接指定路徑吧!/usr/sbin/apxs -i -a -c mod_bw.c

結果也不行~~哈…問題就出在少裝一個套件啦^^”

httpd-devel所以我們就利用方便的yam裝吧!

[root@imkojima mod_bw]#yam -y install httpd-devel

……長長的安裝訊息略過……

[root@imkojima mod_bw]# /usr/sbin/apxs -i -a -c mod_bw.c

再輸入一次 /usr/sbin/apxs -i -a -c mod_bw.c吧!!

雖然裝完httpd-devel但是CentOS還是不認識apxs指令@@

所以就打原始路徑編譯~

此動作會編譯和安裝!

自動把模組加入apache很方便的我們不用再手動加入模組設定!

但是還是要檢查一下~

確定httpd.conf有LoadModule bw_module /usr/lib/httpd/modules/mod_bw.so

這一行~這樣就完成安裝了~

[root@imkojima mod_bw]# /etc/rc.d/init.d/httpd restart

重新啟動httpd即可生效!

接下來就是如何設定mod_bw模組了~

其實http://www.ivn.cl/apache/files/txt/mod_bw-0.8.txt

官方文件寫的很清楚了~我還是小小的介紹一下吧~

首先前面要先加入

BandwidthModule On
ForceBandWidthModule On
不然什麼設定都是無效的…..

例一:
BandWidth localhost 10240
BandWidth 192.168.1.2 0

第一行是說,限制 localhost 位置,無論下載多少個檔案,下載速度總合最高只有10KB
第二行是說, 192.168.1.2 這個IP位址,無論下載多少個檔案,下載速度總合最高無限制
(1KB=1024 , 0 即是無限制)
例二:
BandWidth all 10240
MinBandWidth all 5120

這個例子是說
限制所有IP位置,只有一個下載時,最高只有10KB的速度
如果有多個下載時,最小下載單檔的速度是5KB

ex:
某A 下載1個檔案 速度為10K 總合下載速度為10K
某A 下載5個檔案 速度各為5K 總合下載速度為25K
例三:
LargeFileLimit .avi 500 10240

副檔名為avi的檔案 且 檔案大小 大於或等於500KB
下載的速度限制最高為10KB
(這裡是多人平分那10KB的速度喔! 1人下載有10KB,10人下載只有1KB)
如果不管多大的檔案都要限制的話可以把500設成1這樣1KB以上就會限制

以上這些設定可以針對虛擬主機或虛擬目錄以及預設主機做設定!

就把這些指令加入進來例如:

<VirtualHost *:80>
DocumentRoot /home/wallpaper/www
ServerName wallpaper.imkojima.info
AddDefaultCharset UTF-8
LanguagePriority
BandwidthModule On
ForceBandWidthModule On
LargeFileLimit .png 1 31920
LargeFileLimit .jpg 1 31920
</VirtualHost>
還沒限制以前
http://imkojima.info/wp-content/uploads/2007/08/mod_bw2.png
限制以後
http://imkojima.info/wp-content/uploads/2007/08/mod_bw.png

這樣就OK了~

就介紹到這裡的其餘的更多功能可以參閱關方文件^^”

By小島大和:|||:

原文位址http://imkojima.info/?p=110
轉載請著名作者和出處~