阿里云服务器Linux系统Apache如何限制并发连接数和下载速度

作者阿里云代理 文章分类 分类:阿里云服务器知识库11 阅读次数 已被围观 11次

解决方案

一般通过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

安装
$ 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

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

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

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

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

专属服务 

阿里云代理商凯铧互联为每一个用户提供专属网络架构服务,同时还能提供阿里云服务器ECS、阿里云CDN等产品等的专属折扣优惠购买。如果您需要详细的为您的企业选择最适合自己的服务器配置类型,请您联系客服,专业人员为您提供服务,同时还能获得更多的优惠折扣。详情请致电158-0160-3153 。

关于我们:

 北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯等,作为阿里云,腾讯云,百度云,金山云重要的合作伙伴,专注于为企业用户提供云计算及云计算的解决方案。总部设在北京,并在内蒙设有办事处。做为一家综合性方案商,凯铧互联向各行业用户提供基于云计算的各种解决方案。为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评。

本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。
?