一、使用mod_limitipconn限制apache的併發連線數
mod_limitipconn for apache 1.3x提供三種安裝方式,分別是tar包、rpm安裝檔案和rpm原始檔,由於rpm包只能用在 redhat 7.x 版本,並且不支援檢測**伺服器,所以我們一般都使用tar包的安裝方式。
通過命令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放在了
之間,而將addmodule mod_limitipconn.c放在了loadmodule python_module modules/mod_python.so
之間,直接造成了mod_limitipconn模組不能正常執行,所以請將這兩行分別移動到沒有的相應行中,然後請確認mod_status模組已經載入,並且在mod_status下新增了extendedstatus on這一行。這時我們的mod_limitipconn模組就安裝完畢,下一步就是對某個目錄進行併發連線數的設定了。addmodule mod_python.c
mod_limitipconn可以對全域性和虛擬主機進行不同的限制,其語法結構都是
當對全域性進行限制時,將這段**放在httpd.conf檔案沒有virtualhost的地方,若是對某個虛擬主機進行限制,請將其放在和之間,我們可以通過更改location以及maxconnperip方便的控制所限制的目錄和併發連線數。#所限制的目錄所在,此處表示主機的根目錄
maxconnperip 3 #所限制的每個ip併發連線數為3個
noiplimit image/* #對不做ip限制
#所限制的目錄所在,此處表示主機的/***目錄
maxconnperip 1 #所限制的每個ip併發連線數為1個
最後,只要重新啟動apache服務,併發連線數的限制就可以生效。
二、使用mod_bandwidth控制apache的頻寬
以及loadmodule bandwidth_module modules/mod_bandwidth.so
若是沒有,**上addmodule mod_bandwidth.c
loadmodule bandwidth_module並且這兩行必須分別加在相應區域的最前面,使得這個模組以最低的優先順序執行。(不過1.3.7的apache應該有,呵呵)。libexec/apache/mod_bandwidth.so
addmodule mod_bandwidth.c
mod_bandwidth執行時需要一些特定的目錄,按照預設情況,請執行以下命令建立並更改目錄的許可權:
mkdir /tmp/apachebw然後再開啟httpd.conf檔案,加上以下內容mkdir /tmp/apachebw/link
mkdir /tmp/apachebw/master
chmod -r 777 /tmp/apachebw
bandwidthdatadir "/tmp/apachebw/"
bandwidthmodule on
bandwidth all 327680 #來自其它網段的速度都限制為327680byte,即30kb/s
設定完畢後,重新啟動apache服務,即可生效。
mod_bandwidth還有許多其它有用的引數,如在
中間加上maxconnection 120則可以限制某個目錄的最多連線數,當超過指定連線數時,拒絕新的連線,此引數與mod_limitipconn模組結合可以控制某個目錄的最多連線人數。
apache的功能確實強大,很多功能都可以通過新增模組來實現,在 http://modules.apache.org/ 可以找到更多的模組,我們也可以編寫自己的模組來實現相應的功能。
Linux下Apache併發連線數和頻寬控制
一 使用mod limitipconn限制apache的併發連線數 mod limitipconn for apache 1.3x提供三種安裝方式,分別是tar包 rpm安裝檔案和rpm原始檔,由於rpm包只能用在 redhat 7.x 版本,並且不支援檢測 伺服器,所以我們一般都使用tar包的安裝...
Linux下Apache併發連線數和頻寬控制
linux下apache併發連線數和頻寬控制 由於本人使用apache 1.3.9 版本.mod limitipconn for apache 1.3x提供三種安裝方式,分別是tar包 rpm安裝檔案和rpm原始檔,由於rpm包只能用在 redhat 7.x 版本,並且不支援檢測 伺服器,所以我們一...
Linux下Apache併發連線數和頻寬控制
一 使用mod limitipconn限制apache的併發連線數 mod limitipconn for apache 1.3x提供三種安裝方式,分別是tar包 rpm安裝檔案和rpm原始檔,由於rpm包只能用在 redhat 7.x 版本,並且不支援檢測 伺服器,所以我們一般都使用tar包的安裝...