Linux apache怎么限制并發連接和下載速度

mod_limitipconn,這個是apache的一個非官方模塊,根據同一個來源ip進行并發連接控制,bw_mod,它可以根據來源ip進行帶寬限制,它們都是apache的第三方模塊。

1.下載:

????? wget ?

????? wget

2.安裝

#tar -zxvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi makefile
修改:apxs = “/usr/local/apache2/bin/apxs” # 這里是自己apache的apxs路徑,加載模塊

或者

#/usr/local/apache2/bin/apxs -i -c -a mod_limitipconn.c? 來加載模塊
#make
#make install

#tar -xvf mod_bw-0.7.tgz
#cd mod_bw
#/usr/local/apache2/bin/apxs -i -c -a /home/kenami/mod_bw/mod_bw.c

下面用vi打開apache 的配置文件 httpd.conf

發現了以下兩行:

loadmodule limitipconn_module modules/mod_limitipconn.so

loadmodule bw_module????????? modules/mod_bw.so

3.配置


??? #需要控制的路徑
??????? maxconnperip 3 #限制的線程數
??????? noiplimit index.htm #對此文件不做限制
???

在虛擬主機配置文件下面加上:

??? bandwidthmodule on?
??? forcebandwidthmodule on
??? bandwidth all 10000 #限速10k
??? minbandwidth all -1

配置參數說明如下:
a.? bandwidthmodule? on|off

//是否開啟mod_bw的帶寬限制功能。

b.? bandwidth? [from]? [bytes/s]

??? 設置指定客戶機最大帶寬,0表示不限制

?? bandwidth u:[user-agent] [bytes/s]

c.? minbandwidth? [from]? [bytes/s]

??? 設置指定客戶機帶寬的最小值,為0表示每個客戶端帶寬最大為256bytes/s,為-1表示最大為bandwith的值

d.? largefilelimit? [type]? [minimum size]? [bytes/s]

??? 設置訪問超出特定大小的某種文件的最大帶寬,文件類型大小單位為kbytes

e.?? maxconnection [from] [max]

??? 設置指定客戶機的最大并發連接數

f.?? forcebandwidthmodule [on|off]

?? 默認bw模塊將應用所有請求,on可設置過濾類型

關于from,即客戶端來源可分以下幾種情況:

ip指定單一主機

192.168.1.22

指定網段

192.168.1.0/24或

192.168.1.0/255.255.255.0

域名單一主機

client1.jb51.net

域名指定范圍

.jb51.net

所有客戶端

all

以上配置既可以針對所有客戶端,也可以對某個虛擬主機進行配置

實例一:

bandwidthmodule on

bandwidth all 307200

bandwidth 192.168.1.2 102400

bandwidth “u:^mozilla/5(.*)” 102400

bandwidth “u:wget” 204800

forcebandwidthmodule on

largefilelimit .avi 600 204800

maxconnection all 100

maxconnnection 192.168.1.2 5

以上的配置含義:

開啟mod_bw, 限制所有文件類型也開啟了

所有客戶端最大帶寬為300k,最大并發連接為100

192.168.1.2的最大帶寬為100k,最大并發連接為5

使用firefox的客戶端最大帶寬為100k

使用wget的客戶端最大帶寬為200k

對超過600k的avi格式的文件最大帶寬為200kbyte/s

實例二:

????? bandwidthmodule on

????? forcebandwidthmodule on

????? largefilelimit .avi 1 20000

????? largefilelimit .mpg 1 20000

????? servername

該實例對虛擬主機進行了限制,指定的文件類型avi和mpg最大帶寬為20k,forcebandwidthmodule on必須有。

實例三:

????? bandwidthmodule on

????? addoutputfilterbytype mod_bw text/html text/plain

????? bandwidth all 5000

????? servername

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享