ECS Linux 下 Apache 如何限制并发连接数和下载速度。
一般通过mod_limitipconn和bw_mod两个模块来实现 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”
这里 /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. 进行限速配置
下面的参数可以作为全局变量添加,也可以作为虚拟主机范围添加:
示例:
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