Apache带宽流量控制模块mod_bw安装配置教程

目录 原创

1.下载mod_bw

官方下载:http://legacy.ivn.cl/#bandwidth

官方下载的文件在Apache2.4使用需要修改mod_bw.c文件

/* 注意!Apache2.4.* 需要将 remote_addr 修改为 client_addr */

#ifdef APR_MAJOR_VERSION  /* 添加这行 1-2 */
/* Compatibility for APR < 1 */
#if ( defined(APR_MAJOR_VERSION) && (APR_MAJOR_VERSION < 1) )
    #define apr_atomic_inc32 apr_atomic_inc
    #define apr_atomic_dec32 apr_atomic_dec
    #define apr_atomic_add32 apr_atomic_add
    #define apr_atomic_cas32 apr_atomic_cas
    #define apr_atomic_set32 apr_atomic_set
#endif
#endif /* 添加这一行 2-2 */

已经修改好的安装文件下载

下载链接:https://download.csdn.net/download/i12344/12367781

2.安装mod_bw

安装前需要两个准备工作,已centos7为例,需要安装

yum install gcc
yum install httpd-devel
yum install redhat-rpm-config

解压缩mod_bw安装文件

cd mod_bw
 /usr/local/bin/apxs -c -i -a mod_bw.c
 /* apxs 所在位置可能不同,请确认你的httpd-devel安装时apx所在位置 */

3.配置mod_bw

httpd.conf文件中添加一行(一般安装完成后会默认添加)

LoadModule bw_module          modules/mod_bw.so

虚拟主机配置文件添加

<VirtualHost _default_:80>

	DocumentRoot "/var/www/html/test"
	ServerName 192.168.141.189

	<Directory "/var/www/html/test/">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
##
#下载速度限制
##
<IfModule mod_bw.c>
	BandWidthModule On
	BandWidth all 512000  ##下载速度限制为512KB
	ForceBandWidthModule On 
	MaxConnection all 4 ##连接数量最多为4个
</IfModule> 


</VirtualHost>

如上图所示为:下载速度 512KB/S、 连接数量最多为4个

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

更多的配置选项可以参考默认配置文件

5.其他安装方式

如果你用的系统源里边有这个模块,那么可以直接使用yum install 安装

但是注意安装完成后模块加载的路径等问题,如果不注意还是比较坑的,不如源码安装的好,如下图,默认配置文件和实际路径不符

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注