Board logo

主題: [分享]讓Apache有限制流量的功能 [打印本頁]

發表人: Chicken    時間: 2005-12-1 09:58 AM     主題: [分享]讓Apache有限制流量的功能

一般說到流量限制,就會想到頻寬分享器或更高階的商用產品
如果只是架個web,資金短缺的話
通常是拿個舊電腦使用Linux為OS,Apache架站
若還要限速可能就用到 tc 指令做Qos
不過 tc 指令很複雜,像在下我這個初心者都看不懂
國內文獻也極少介紹
雖有已經寫好的script,但還是要搭配 iptables 重新打包封包才行
太麻煩了
現在(應該說很久以前就有)Apache 可利用 module 的方式來強化自己
mod_bandwidth 就是可以限制網站流量的利器
它可以限制整個網站、虛擬主機、某個目錄或某個IP等的流量
虛擬主機商應該會愛上它才對
這個 module 有 for Apache 2.x 及 1.3.x 的版本
作者雖不同人,但設定方法幾乎是一樣的

for Apache 2.x
source: http://www.ivn.cl/apache/bw_mod-0.6.tgz
document: http://www.ivn.cl/apache/bw_mod-0.6.txt

for Apache 1.3.x
source: ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c
document: http://www.cohprog.com/v3/bandwidth/doc-en.html

如果你的 Apache 是用 RPM 裝的
那就沒有 apxs 指令來編譯 module
你就需要重新編譯 Apache
通常還要再支援 PHP
PHP 或許還要支援 MySQL、GD函數等等....
這個就不在討論的範圍內
請你查書或找網路文獻看看喔
應該不會很難

照著文件上說明裝好 mod_bandwidth 後
在下舉個例子簡單說明一下了
例如我要限制upload目錄流量,頻寬為50KBytes
那就在 httpd.conf 這樣設定:

BandWidthModule On
BandWidthPulse 1000000
Alias   /upload        "/upload"
<Directory /upload>
   BandWidth all 51200
   AllowOverride None
   Options -Indexes FollowSymLinks
   Order allow,deny
   Allow from all
</Directory>

其他的部份請有興趣的朋友自行試看看囉


[Chicken 在 2005-12-1 10:01 AM 作了最後編輯]
發表人: Chicken    時間: 2005-12-1 01:27 PM

補充一下
這裡有中文的安裝與設定檔說明
相信應該更快上手
http://irenepcc.dyndns.org/~mt/a ... computer/000268.php

mod_banwidth 作者網頁
1.3.x: http://www.cohprog.com/mod_bandwidth.html
2.x: http://www.ivn.cl/apache/

測試速度的時候用 FlashGet 來測會比較準確
確認沒問題後再分割一些線程來操看看
你會發現分割線程越多速度越慢 ^^


發表人: itsun    時間: 2007-5-15 05:09 PM

嗯~謝謝你提供的資料~

也帶給偶一個不錯的好網站 「dunst 隨手記」
大家可以去瀏覽看看,蠻不錯的耶~

[itsun 在  2007-5-16 08:01 AM 作了最後編輯]




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0