Apache 结合 mod_bandwidth 进行带宽控制

原创 2003年04月10日 09:27:00

作者: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

 

mod_bw.dll限速组件

  • 2012年09月20日 09:03
  • 9KB
  • 下载

Apache下使用Bandwidth Mod限制总带宽

Apache下使用Bandwidth Mod限制总带宽 环境: CentOS release 5.6 + Apache 2.2.22 mod_bw v0.92 http://ivn.cl/files/...
  • jom_ch
  • jom_ch
  • 2012年02月22日 19:23
  • 2066

apache带宽配置

带宽配置 LoadModule bw_module modules/mod_bw.so 或者 LoadModule bw_module          /usr/lib64/httpd/module...
  • winheroii58
  • winheroii58
  • 2017年05月05日 14:12
  • 215

centos7安装apache插件mod_limitipconn和mod_bandwidth实现限制IP连接限制带宽

如果没装apache先安装apache yum -y install httpd 配置开机启动apache chkconfig httpd on 启动apache service httpd...
  • daizikai77
  • daizikai77
  • 2017年05月05日 10:05
  • 572

Apache限制下载线程数与带宽详解

2014年放了一台服务器到数据中心,发现下载量很大,大部份是用迅雷下载这样会造成服务器负担过大,有人下载时会打不开网页的现象,所以网上查找解决下载限制的方法。 找到mod_limitipconn与m...
  • yingzheng1983
  • yingzheng1983
  • 2014年03月11日 13:10
  • 4303

apache 模块mod_limitipconn 和 mod_bandwidth 安装 配置

1.下载压缩包 下载地址:http://dominia.org/djao/limitipconn2.html 下载地址:http://ivn.cl/2010/01/06/downloads-for...
  • yong_sun
  • yong_sun
  • 2012年08月29日 16:26
  • 2840

apache限制并发数,IP,带宽设置

apache限制并发数,IP,带宽设置 ...
  • eroswang
  • eroswang
  • 2008年04月03日 16:26
  • 3701

apache的流量控制模块bw_mod进行带宽控制

sudo apt-get install libapache2-mod-bw sudo a2enmod bw open /etc/apache2/apache2.conf: BandWidth...
  • hikelee
  • hikelee
  • 2013年12月17日 22:55
  • 219

Linux下简单限制网卡的带宽

 原贴:http://www.kuqin.com/linux/20081204/29414.htmlLinux下限制网卡的带宽,可用来模拟服务器带宽耗尽,从而测试服务器在此时的访问效果。  1、安装i...
  • chinalinuxzend
  • chinalinuxzend
  • 2008年12月05日 12:06
  • 6782

Apache和PHP结合

Apache和PHP结合配置httpd支持PHP ServerName Require all denied AddType application/x-httpd-php .php //解析...
  • aoli_shuai
  • aoli_shuai
  • 2017年12月19日 21:37
  • 88
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Apache 结合 mod_bandwidth 进行带宽控制
举报原因:
原因补充:

(最多只允许输入30个字)