由於工作上的需求,要對Apache環境下的網站進行限速,因為網站上要新增一個下載的專案,如果沒有一個下載限制的話,網站的頻寬會被耗盡,但是要求還不能用第三方軟體來限制,想了想只能從Apache的一些擴充套件功能來下手了,我想這也是Apache的一大優勢吧。

  對於Apache的流量限制,我們可以使用bw_mod流量控制模組來實現,簡單、方便,沒有過多複雜的設定,最重要的是幾乎不會影響線上正常業務的應用,下面簡單介紹一下模組的使用方法。

一、模組下載

  大家可以到http://apache.ivn.cl/這個網站上下載相應版本的模組,我使用的是0.92版本的。

二、模組安裝

  說明一下我這裡的測試環境是Linux Red Hat5,Apache是原始碼包安裝的2.2版本,按照下面的步驟來安裝模組。

    tar zxf mod_bw-0.92.tgz   //解壓模組
    /usr/local/apache2/bin/apxs -i -a -c mod_bw.c   //安裝模組

  很簡單的步驟就可以安裝完模組了,如果順利的話在httpd.conf配置檔案中會看到增加了如下條目。

    LoadModule bw_module          modules/mod_bw.so

  但光有這一個條件是不夠的,我們要在其下面繼續新增如下條目。

    BandWidthModule On   //開啟流量限制
    ForceBandWidthModule On   //強制限制所有連線
    BandWidth  all 0   //總頻寬不限制
    LargeFileLimit .rar 100000 23000

  按照以上方法就可以新增一個流量限制規則,我這裡所新增的是對所有以rar字尾結尾的軟體限制,只要此軟體大於100M,就限制其下載速度為23k/秒。這裡要注意一下單位的寫法,前面是以k為單位,100000即100M,後面是以位元組為單位,23000即23k。

  完成配置之後我們重新啟動Apache,然後在Apache的網頁目錄中放一個軟體來測試一下了,可以看到下載的速度已經被限制到了23k以內了。

寫在最後

  一個很小的模組就可以讓Apache幫助我們實現很多功能,我想這也正是Apache的一大優勢,靈活以及人性化,這裡沒有介紹過多關於此模組的使用方法,只是簡單的一個限制流量的思路,其實還有更多種方法來實現。

  原創文章首發自阿布的部落格,轉載請註明,本文地址:http://www.abuve.com/401.html