开发者社区 问答 正文

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



问题描述



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.gzwget 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.soLoadModule 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,最大并发连接为100BandWidth 1.1.1.1 102400BandWidth “u:^Mozilla/5(.*)” 102400  #使用FireFox的客户端最大带宽为100kBandWidth “u:wget” 204800   #使用wget的客户端最大带宽为200kForceBandWidthModule OnLargeFileLimit .avi 600 204800  #对超过600k的avi格式的文件最大带宽为200kbyte/sMaxConnection all 100  #最大连接数为100MaxConnnection 1.1.1.1 5  #1.1.1.1的最大带宽为100k,最大并发连接为5

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

展开
收起
boxti 2017-10-23 10:10:49 2263 分享
分享
版权
举报
阿里云 AI 助理回答

[203] :api鉴权失败

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答