Apache 结合 mod_bandwidth 进行带宽控制
来源:互联网 发布:医疗大数据 盈利模式 编辑:程序博客网 时间:2024/04/30 03:38
作者:lownr
日期:2003/04/10
--------------------------------------------------
摘要:
通过带宽控制模块,控制通过 apache 进行下载的流量。
--------------------------------------------------
环境:
FreeBSD 4.7
gcc 2.95.4
apache 1.3.27
mod_bandwidth 2.0.4
--------------------------------------------------
步骤
1、下载模块 mod_bandwidth
ftp://ftp.cohprog.com/pub/apache/module/
2、编译和安装
a) 编译:
由于 apache 是用编译好的包安装的,因此只有采用 apxs 方式编译
/usr/local/sbin/apxs -c mod_bandwidth.c -o /usr/local/libexec/apache/mod_bandwidth.so
b) 创建 mod_bandwidth 运行需要的目录:
mkdir /tmp/apachebw
mkdir /tmp/apachebw/link
mkdir /tmp/apachebw/master
chmod -R 777 /tmp/apachebw
c) 修改 /usr/local/etc/apache/httpd.conf 文件:
c.1) 增加下列内容
LoadModule bandwidth_module libexec/apache/mod_bandwidth.so
AddModule mod_bandwidth.c
注意:这两行必须分别加在相应区域的最前面,使得这个模块以最低的优先级运行。
c.2) 增加下列内容
<IfModule mod_bandwidth.c>
BandWidthDataDir "/tmp/apachebw/"
BandWidthModule on
</IfModule>
c.3) 修改 <Directory> 的设置
<Directory />
# 不限制局域网内用户的下载速度
BandWidth 192.168.0 0
# 限制其他用户的下载速度为每秒 8192 字节
BandWidth all 8192
....
</Directory>
按照上面的方式修改其他 <Directory> 小节
d) 重新启动 apache:
apachectl configtest
apachectl restart
--------------------------------------------------
mod_bandwidth 的选项简单说明:
..............................
BandWidthDataDir
格式: BandWidthDataDir <目录>
默认: "/tmp/apachebw"
上下文: server config
设置 mod_bandwidth 保存运行时数据的目录。需要在该目录下创建 ./master
和 ./link 两个子目录,并设置为权限为 777。
注意:有些系统会定时清理 /tmp 目录,所以在这些系统上最好把
BandWidthDataDir 设置到其他地方。
..............................
BandWidthModule
格式: BandWidthModule <On|Off>
默认: Off
上下文: per server config
允许或者禁止模块。
..............................
BandWidthPulse
格式: BandWidthPulse <毫秒(千分之一秒>
默认: 1000
上下文: per server config
改变计算带宽的时间间隔,默认为1000毫秒(1秒)。使用更低的间隔可以获得
更精确的带宽控制,但消耗更多的CPU时间,反之亦然。
注意:这个选项的详细说明请参考 mod_bandwidth 的文档。
..............................
BandWidth
格式: BandWidth <domain|ip|all> <速率>
默认: 无
上下文: per directory, .htaccess
限制这个目录下文件下载的速率。
domain 指定来自哪个域的连接受到这个设置的影响。
ip 指定来自哪个ip地址(或者ip段)的连接受到影响。
all 所有连接都受到影响。
示例:
<Directory />
# 来自 dualface.com 的连接不限制下载速度
BandWidth dualface.com 0
# 来自 192.168.0.0/16(或者192.168.0) 网段的连接不限制下载速度
BandWidth 192.168.0.0/16 0
# 其他连接限制下载速度为每秒1024字节
BandWidth all 1024
# 越前面的设置优先权越高
</Directory>
..............................
LargeFileLimit
格式: LargeFileLimit <文件大小> <速率>
默认: 无
上下文: per directory, .htaccess
对于超过指定大小的文件,下载时使用的速率。如果速率设置0即不限制速度,
但下载速度仍然要受到BandWidth设置的影响。如果设置成-1,则完全不受影响。
通过设置不同的文件大小和速率,可以设置不同大小范围内文件的下载速度。
示例:
# 文件尺寸大于等于200千字节的文件,下载速率为每秒3072字节
LargeFileLimit 200 3072
LargeFileLimit 1024 2048
..............................
MaxConnection
格式: MaxConnection <连接数>
默认: 0 (不限制)
上下文: per directory, .htaccess
当超过指定连接数时,拒绝新的连接。
..............................
MinBandWidth
格式: MinBandWidth <domain|ip|all> <速率>
默认: all 256
上下文: per directory, .htaccess
设置最小带宽,默认为每秒256字节。根据BandWidth和LargeFileLimit设置的速
率。mod_bandwidth会计算允许的连接数。例如BandWidth为4096字节,而
MinBandWidth为1024字节,则最大并发连接数为4。
注意:这个选项的详细说明请参考 mod_bandwidth 的文档。
--------------------------------------------------
参考资料:
mod_bandwidth documents
http://www.cohprog.com/v3/bandwidth/doc-en.html
- Apache 结合 mod_bandwidth 进行带宽控制
- apache的流量控制模块bw_mod进行带宽控制
- centos7安装apache插件mod_limitipconn和mod_bandwidth实现限制IP连接限制带宽
- apache 模块mod_limitipconn 和 mod_bandwidth 安装 配置
- Python中使用rrdtool结合Django进行带宽监控
- (转载)Linux下Apache并发连接数和带宽控制
- Linux下Apache并发连接数和带宽控制
- Linux下Apache并发连接数和带宽控制
- Linux下Apache并发连接数和带宽控制
- Linux下Apache并发连接数和带宽控制
- apache流量与带宽控制mod_cband模块介绍
- Linux下Apache并发连接数和带宽控制
- VS2010结合Github进行版本控制
- VS2010结合Github进行版本控制
- VS2010结合Github进行版本控制
- VS2010结合Github进行版本控制
- Spring结合Shiro进行权限控制
- apache带宽配置
- C#进阶3
- 数据仓库指南
- Delphi中的回调函数
- Delphi编程技巧(一)内存管理
- 配置ClearCase LT
- Apache 结合 mod_bandwidth 进行带宽控制
- 从源代码安装 Apache 1.3 和 PHP 4
- 一个比较好的全排列算法(C语言)
- 在Kylix中模拟Windows API中的FindWindow函数
- 搜索引擎技术核心揭密(PHP)
- PHP 和 MySQL 开发的 8 个技巧
- 关于ASP的(VBScript)类,只希望给初学者看一看,希望对你们有帮助
- 一个sql语句,包含有几乎所有标准查询语法
- InstallShield自定义对话框浅谈(一)