Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64940
  • 博文数量: 29
  • 博客积分: 890
  • 博客等级: 准尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-09 14:51
文章分类

全部博文(29)

文章存档

2013年(2)

2012年(13)

2011年(1)

2010年(10)

2009年(3)

我的朋友

分类:

2010-06-19 23:51:17


 mod_bw 和 mod_limitipconn ;分别是限速和限制IP连接数的模块。
      安装mod_bw 和 mod_limitipconn 都非常简单。
1、下载:
      wget
      wget
2.安装
#tar -zxvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi Makefile
修改: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
下面用vi打开apache 的配置文件 httpd.conf
发现了以下两行:
LoadModule limitipconn_module modules/mod_limitipconn.so
LoadModule bw_module          modules/mod_bw.so
说明这两个模块安装成功
以下在httpd.conf 配置这两个模块,我的配置如下:

    #需要控制的路径
        MaxConnPerIP 3 #限制的线程数
        NoIPLimit index.htm #对此文件不做限制
   

在论坛的虚拟主机配置文件下面加上:
    BandwidthModule On 
    ForceBandWidthModule On
    Bandwidth all 10000 #限速10K
    MinBandwidth all -1
测试了一下,一切正常,下载mp3的速度限制在10K一下,这样就再也不用担心大量的下载链接导致apache当机的问题了,当然以上方法不能阻止攻击。

LoadModule bw_module modules/mod_bw.dll

 BandWidthModule On                 #启用bw_mod
 AddOutputFilterByType MOD_BW text/html text/plain
 Bandwidth all 1024
 #MinBandWidth all 512              #最低为多少字节
 #MaxConnection all 23                   #所有客户端最多23个连接
 #LargeFileLimit .zip 20 23000         #限制所有大于20K的后缀名为.zip的文件
    DocumentRoot f:/web/my/down
    ServerName
 ServerAlias  7game.net.cn gamedown.org.cn
 
引用
LoadModule bw_module          modules/mod_bw.so
设置带宽控制策略
我这里的需求有两点,一是只要带宽足够,则尽量给用户最多的带宽;而是如果同时下载人数过多,则给用户保障一个最低带宽,并且尽量平均分配。

引用
      BandWidthModule on
      ForceBandWidthModule On
      BandWidth all 10240000
      MinBandWidth all 204800

在这种情况下,总带宽限制在10M,如果服务器上只有一个用户在下载,那么就给他10M的带宽(如果客户端也能有这么高带宽的话),当有50个用户在下载的话,则保障每个用户都能有200K带宽,当有100个用户在下载的话,则平均每个用户分配100K带宽。
bw_module的策略还有很多种,具体可以看源代码中的mod_bw.txt
阅读(784) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~