文档中心 > 云服务器 ECS

云服务器 ECS Linux Apache 客户端限速配置

更新时间: 访问次数:1436

问题描述


ECS Linux 下 Apache 如何限制并发连接数和下载速度。

解决方案


一般通过mod_limitipconn和bw_mod两个模块来实现 Apache 的限速。 

  • mod_limitipconn :限制每 IP 的连接数 。
  • mod_bandwidth :限制目录总的带宽使用  。

下面介绍下载安装和使用方法: 

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” 

这里 /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

 3. 编辑Apache配置文件 

vi 打开 Apache 的配置文件 httpd.conf, 搜索如下两行,如果没有手动添加:

LoadModule limitipconn_module modules/mod_limitipconn.so
LoadModule bw_module          modules/mod_bw.so

 4. 进行限速配置

下面的参数可以作为全局变量添加,也可以作为虚拟主机范围添加:   

  • MaxConnPerIP 3 #限制的线程数
  • NoIPLimit index.htm #对此文件不做限制
  • BandWidthModule On
  • BandWidth all 30720
  • ForceBandWidthModule On 

示例:

BandWidthModule On #开启mod_bw, 限制所有文件类型也开启了
BandWidth all 307200  #所有客户端最大带宽为300k,最大并发连接为100
BandWidth 1.1.1.1 102400 
BandWidth “u:^Mozilla/5(.*)” 102400  #使用FireFox的客户端最大带宽为100k
BandWidth “u:wget” 204800   #使用wget的客户端最大带宽为200k
ForceBandWidthModule On
LargeFileLimit .avi 600 204800  #对超过600k的avi格式的文件最大带宽为200kbyte/s
MaxConnection all 100  #最大连接数为100
MaxConnnection 1.1.1.1 5  #1.1.1.1的最大带宽为100k,最大并发连接为5

 

如果问题还未能解决,您可以到阿里云社区进行免费咨询,或联系云市场商家寻求帮助

FAQ

关于此文档暂时还没有FAQ
返回
顶部