Linux下apache如何限制并發(fā)連接和下載速度
mod_limitipconn,這個(gè)是Apache的一個(gè)非官方模塊,根據(jù)同一個(gè)來(lái)源IP進(jìn)行并發(fā)連接控制,Bw_mod,它可以根據(jù)來(lái)源IP進(jìn)行帶寬限制,它們都是apache的第三方模塊。
1.下載:
wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz
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 來(lái)加載模塊
#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
發(fā)現(xiàn)了以下兩行:
LoadModule limitipconn_module modules/mod_limitipconn.so
LoadModule bw_module modules/mod_bw.so
3.配置
<IfModule mod_limitipconn.c>
<Location /home/bo@jb51.net/attachments/month _*> #需要控制的路徑
MaxConnPerIP 3 #限制的線程數(shù)
NoIPLimit index.htm #對(duì)此文件不做限制
</Location>
</IfModule>
在虛擬主機(jī)配置文件下面加上:
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 10000 #限速10K
MinBandwidth all -1
配置參數(shù)說(shuō)明如下:
a. BandWidthModule On|Off
//是否開啟mod_bw的帶寬限制功能。
b. BandWidth [From] [bytes/s]
設(shè)置指定客戶機(jī)最大帶寬,0表示不限制
BandWidth u:[User-Agent] [bytes/s]
c. MinBandWidth [From] [bytes/s]
設(shè)置指定客戶機(jī)帶寬的最小值,為0表示每個(gè)客戶端帶寬最大為256bytes/s,為-1表示最大為BandWith的值
d. LargeFileLimit [Type] [Minimum Size] [bytes/s]
設(shè)置訪問超出特定大小的某種文件的最大帶寬,文件類型大小單位為kbytes
e. MaxConnection [From] [Max]
設(shè)置指定客戶機(jī)的最大并發(fā)連接數(shù)
f. ForceBandWidthModule [On|Off]
默認(rèn)bw模塊將應(yīng)用所有請(qǐng)求,On可設(shè)置過濾類型
關(guān)于From,即客戶端來(lái)源可分以下幾種情況:
IP指定單一主機(jī)
192.168.1.22
指定網(wǎng)段
192.168.1.0/24或
192.168.1.0/255.255.255.0
域名單一主機(jī)
Client1.jb51.net
域名指定范圍
.jb51.net
所有客戶端
all
以上配置既可以針對(duì)所有客戶端,也可以對(duì)某個(gè)虛擬主機(jī)進(jìn)行配置
實(shí)例一:
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,最大并發(fā)連接為100
192.168.1.2的最大帶寬為100k,最大并發(fā)連接為5
使用FireFox的客戶端最大帶寬為100k
使用wget的客戶端最大帶寬為200k
對(duì)超過600k的avi格式的文件最大帶寬為200kbyte/s
實(shí)例二:
<Virtualhost *>
BandwidthModule On
ForceBandWidthModule On
LargeFileLimit .avi 1 20000
LargeFileLimit .mpg 1 20000
Servername www.dbjr.com.cn
</Virtualhost>
該實(shí)例對(duì)虛擬主機(jī)進(jìn)行了限制,指定的文件類型avi和mpg最大帶寬為20K,ForceBandWidthModule On必須有。
實(shí)例三:
<Virtualhost *>
BandwidthModule On
AddOutputFilterByType MOD_BW text/html text/plain
Bandwidth all 5000
Servername www.dbjr.com.cn
</Virtualhost>
相關(guān)文章
如何在CentOS8上安裝和配置Postfix郵件服務(wù)器的方法示例
這篇文章主要介紹了如何在CentOS8上安裝和配置Postfix郵件服務(wù)器的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Linux 6 修改ssh默認(rèn)遠(yuǎn)程端口號(hào)的操作步驟
這篇文章主要介紹了Linux 6 修改ssh默認(rèn)遠(yuǎn)程端口號(hào)的操作步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Shell 數(shù)組與關(guān)聯(lián)數(shù)組詳解及實(shí)例代碼
這篇文章主要介紹了 Shell 數(shù)組與關(guān)聯(lián)數(shù)組詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01詳解Linux(Centos)之安裝Nginx及注意事項(xiàng)
Nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器,這篇文章主要介紹了詳解Linux(Centos)之安裝Nginx及注意事項(xiàng),有興趣的可以了解一下。2017-03-03詳解ubuntu 16.04 LTS 降級(jí)安裝gcc 4.8
本篇文章主要介紹了ubuntu 16.04 LTS 降級(jí)安裝gcc 4.8 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04CentOs 7.3中搭建RabbitMQ 3.6單機(jī)多實(shí)例服務(wù)的步驟與使用
這篇文章主要給大家介紹了關(guān)于CentOs 7.3中搭建RabbitMQ 3.6單機(jī)多實(shí)例服務(wù)的步驟與使用的相關(guān)資料,文中將實(shí)現(xiàn)的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧。2018-03-03