Linux+Apache的穩定性、 安全 性和 性能 以及低廉的價格正在贏得越來越多的市場份額,使用Linux+Apache作網站 服務器 的朋友也越來越多,而Apache作為一種http服務,相比FTP總是不容易控制,特別是當網站以http方式提供軟件/音樂下載時,若是每個用戶都開啟
Linux+Apache的穩定性、
安全性和
性能以及低廉的價格正在贏得越來越多的市場份額,使用Linux+Apache作網站
服務器的朋友也越來越多,而Apache作為一種http服務,相比FTP總是不容易控制,特別是當網站以http方式提供軟件/音樂
下載時,若是每個用戶都開啟多個線程並沒有帶寬的限制,將很快達到http的最大連接數或者造成
網絡壅塞,使得網站的許多正常服務都無法運行。不過,Apache的使用者們早已
開發出了mod_limitipconn和mod_bandwidth兩個模塊,來控制http的並發連接數和用戶所能夠使用的帶寬,下面將以RedHat Linux 7.3+Apache 1.3.7來說明它們的使用方法。
一、使用mod_limitipconn限制Apache的並發連接數
mod_limitipconn可以控制每個IP地址同時連接服務器某一個目錄的並發連接數,是一個非常有用的模塊,其官方網頁是http://dominia.org/djao/limitipconn.html,最新版本為for Apache 1.3.7的0.04,並且還有支持Apache 2.x的模塊下載,由於本人使用Apache 1.3.7版本,所以請使用2.x版本Apache的朋友到其官方網站察看具體的使用方法。
mod_limitipconn for Apache 1.3x提供三種安裝方式,分別是tar包、rpm安裝文件和rpm源文件,由於rpm包只能用在 RedHat 7.x 版本,並且不支持檢測代理服務器,所以我們一般都使用tar包的安裝方式。
以管理員方式登陸服務器,然後在服務器上運行wget http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz將mod_limitipconn的tar包下載到服務器,然後按照再運行tar zxvf mod_limitipconn-0.04.tar.gz將tar包解壓縮,會在當前目錄下生成mod_limitipconn-0.04目錄,然後cd mod_limitipconn-0.04進入此目錄,下一步就是使用apxs將目錄中的mod_limitipconn.c編譯。這時,我們需要確定自己的Apache安裝在那個目錄,並且找到apxs命令放在哪裡。
通過命令whereis apxs,我們可以確定apxs命令的路徑,如我的apxs命令所在為/usr/sbin/apxs,則輸入/usr/sbin/apxs -c -i -a mod_limitipconn.c對mod_limitipconn.c進行編譯,此命令會自動在你Apache的配置文件httpd.conf中加入需要的信息,並且將生成的mod_limitipconn.so模塊拷貝到Apache的模塊目錄。不過為了確認此命令是否正常運作,請首先檢查自己的Apache模塊目錄(我的是/usr/lib/apache),看內部是否含有mod_limitipconn.so文件,沒有的話請將mod_limitipconn-0.04目錄中生成的文件拷貝到此處。
剛才命令自動生成的httpd.conf可能有些錯誤,在我的系統中,它將LoadModule limitipconn_module modules/mod_limitipconn.so放在了
<IFDEFINE HAVE_PYTHON>
LoadModule python_module modules/mod_python.so
</IFDEFINE>