Apache服務(wù)器限制并發(fā)連接和下載速度_Web服務(wù)器教程

      編輯Tag賺U幣
               目前各種多線程下載工具泛濫,這對(duì)提供部分下載功能的網(wǎng)站來說是個(gè)比較頭疼的問題,由于多線程下載會(huì)給服務(wù)器帶來巨大的負(fù)載壓力,而且可能會(huì)對(duì)整個(gè)站點(diǎn)產(chǎn)生影響,使其不能正常訪問。那么有沒有什么方法可以解決這些問題呢?答案是肯定的。目前國內(nèi)大部分站點(diǎn)都是基于LAMP(Linux+Apache+Mysql+php)架構(gòu)的,Apache是一個(gè)開源的,功能強(qiáng)大,穩(wěn)定,使用量最大的WEB服務(wù)器。Apache是模塊化開發(fā)的,可以根據(jù)需要增加各種功能模塊,這里我給大家介紹兩個(gè)模塊,一個(gè)是mod_limitipconn,另一個(gè)是bw_mod。
           下面說一下它們的安裝配置,它們的下載地址是:
          mod_limitipconn:http://dominia.org/djao/limitipconn.html
          bw_mod:http://www.ivn.cl/

      一、mod_limitipconn

          mod_limitipconn,這個(gè)是Apache的一個(gè)非官方模塊,根據(jù)同一個(gè)來源IP進(jìn)行并發(fā)連接控制,它是使用ExtendedStatus On的形式,工作在應(yīng)用層。當(dāng)同一個(gè)源IP的連接到達(dá)限制的時(shí)候,apache對(duì)get請(qǐng)求發(fā)送: HTTP/1.1 503 Service Temporarily Unavailable,使用戶不能進(jìn)行多線程下載,但并不能阻止攻擊。目前它的最新版本是0.22,支持Apache 2.0。
       
      下載:wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
      解壓:tar zxvf mod_limitipconn-0.22.tar.gz;
      安裝:在進(jìn)行安裝前要確認(rèn)apxs文件的位置,要使用whereis apxs命令查找apxs文件的位置。可以通過兩種方法進(jìn)行安裝。
          一種方法是修改mod_limitipconn的Makefile文件,確保Makefile文件中APXS=指向正確的apxs文件。
      然后輸入:make install 
      另一種方法就是直接用apxs命令進(jìn)行編譯安裝,如:
      /usr/local/apache/bin/apxs –c –i – a mod_limitipconn.c 
      修改Apache的配置文件httpd.conf:
      1.找到ExtendedStatus On,如果前面有#號(hào)的話要把#號(hào)去掉,如果沒有這個(gè)選項(xiàng)需要自己手工添加;
      2.確認(rèn)LoadModule limitipconn_module /usr/lib/apache/mod_limitipconn.so這個(gè)選項(xiàng)存在;
      3.在httpd.conf進(jìn)行mod_limitipconn配置,配置示例如下:
      <IfModule mod_limitipconn.c>
      <Location /> #要限制的目錄,此處表示的根目錄
      MaxConnPerIP 3 #要限制每個(gè)IP的并發(fā)連接數(shù),此處為3
      NoIPLimit image/* #對(duì)圖片文件夾不做IP限制
      </Location>
      <Location /mp3> #要限制的目錄,此處表示/mp3目錄
      MaxConnPerIP 1 #限制每個(gè)IP的并發(fā)連接數(shù)為1個(gè)
      OnlyIPLimit audio/mpeg video #該限制只對(duì)視頻和音頻格式的文件
      </Location>
      </IfModule>
                  4.重啟Apache,這時(shí)可以用多線程下載工具下載文件試一下。

      二、bw_mod

      Bw_mod,它可以根據(jù)來源IP進(jìn)行帶寬限制。
             下載:wget http://www.ivn.cl/files/source/bw_mod-0.6.tgz
             解壓:tar zxvf bw_mod-0.6.tgz
      安裝:通過whereis apxs命令找到apxs命令的位置,如apxs的位置是:/usr/local/apache/bin/apxs,那么我們就可以通過:
      /usr/local/apache/bin/apxs –c –i –a命令進(jìn)行安裝。
      修改Apache的配置文件httpd.conf。
      1.確認(rèn)LoadModule bw_module modules/bw_mod-0.6.so選項(xiàng)已經(jīng)存在。
      2.配置示例:
      BandWidthModule On                 #啟用bw_mod
      BandWidth    all 102400              #最高為為100kB
      MinBandWidth all 51200              #最低為50KB
      MaxConnection all 3                   #所有客戶端最多3個(gè)連接
      LargeFileLimit .rar 30 23000         #限制所有大于30K的后綴名為.rar的文件的
                                                       速率為23000字節(jié)/秒,即23K/秒
      3.重啟Apache
             以上只說了一下這兩個(gè)模塊的安裝和簡(jiǎn)單的配置,更具體的配置請(qǐng)看這兩個(gè)模塊的說明文件。

      來源:網(wǎng)絡(luò)搜集//所屬分類:Web服務(wù)器教程/更新時(shí)間:2011-12-08
      相關(guān)Web服務(wù)器教程