Linux下apache如何限制并发连接和下载速度

在Linux下限值Apache的并发连接数和下载速度需要用到一款Apache的扩展模块mod_limitipconn,下面我们就来讨论mod_limitipconn的安装使用方法

mod_limitipconn,这个是Apache的一个非官方模块,根据同一个来源IP进行并发连接控制,Bw_mod,它可以根据来源IP进行带宽限制,它们都是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” # 这里是自己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

3.配置

<IfModule mod_limitipconn.c>
    <Location /home/bo@jb51.net/attachments/month _*> #需要控制的路径
        MaxConnPerIP 3 #限制的线程数
        NoIPLimit index.htm #对此文件不做限制
    </Location>
</IfModule>

在虚拟主机配置文件下面加上:

    BandwidthModule On 
    ForceBandWidthModule On
    Bandwidth all 10000 #限速10K
    MinBandwidth all -1


配置参数说明如下:
a.  BandWidthModule  On|Off

//是否开启mod_bw的带宽限制功能。

b.  BandWidth  [From]  [bytes/s]

    设置指定客户机最大带宽,0表示不限制

   BandWidth u:[User-Agent] [bytes/s]

c.  MinBandWidth  [From]  [bytes/s]

    设置指定客户机带宽的最小值,为0表示每个客户端带宽最大为256bytes/s,为-1表示最大为BandWith的值

d.  LargeFileLimit  [Type]  [Minimum Size]  [bytes/s]

    设置访问超出特定大小的某种文件的最大带宽,文件类型大小单位为kbytes

e.   MaxConnection [From] [Max]

    设置指定客户机的最大并发连接数

f.   ForceBandWidthModule [On|Off]

   默认bw模块将应用所有请求,On可设置过滤类型

关于From,即客户端来源可分以下几种情况:

IP指定单一主机

192.168.1.22

指定网段

192.168.1.0/24或

192.168.1.0/255.255.255.0

域名单一主机

Client1.jb51.net

域名指定范围

.jb51.net

所有客户端

all

以上配置既可以针对所有客户端,也可以对某个虚拟主机进行配置

实例一:

BandWidthModule On

BandWidth all 307200

BandWidth 192.168.1.2 102400

BandWidth “u:^Mozilla/5(.*)” 102400

BandWidth “u:wget” 204800

ForceBandWidthModule On

LargeFileLimit .avi 600 204800

MaxConnection all 100

MaxConnnection 192.168.1.2 5

以上的配置含义:

开启mod_bw, 限制所有文件类型也开启了

所有客户端最大带宽为300k,最大并发连接为100

192.168.1.2的最大带宽为100k,最大并发连接为5

使用FireFox的客户端最大带宽为100k

使用wget的客户端最大带宽为200k

对超过600k的avi格式的文件最大带宽为200kbyte/s

实例二:

<Virtualhost *>

      BandwidthModule On

      ForceBandWidthModule On

      LargeFileLimit .avi 1 20000

      LargeFileLimit .mpg 1 20000

      Servername www.jb51.net

</Virtualhost>

该实例对虚拟主机进行了限制,指定的文件类型avi和mpg最大带宽为20K,ForceBandWidthModule On必须有。

实例三:

<Virtualhost *>

      BandwidthModule On

      AddOutputFilterByType MOD_BW text/html text/plain

      Bandwidth all 5000

      Servername www.jb51.net

</Virtualhost>

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt
apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。 这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。 做个形
网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定。 我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web。 我们首先设定网站目录和文件的所有者和所有组为centos,www,如下
Apache mod_ssl 配置多个虚拟主机支持SSL子站,以下配置适用于httpd 2.4+,对于不支持define指令的低版本Apache httpd Web Server,把SSLROOT换成所定义的路径即可。配置中的${WROOT}是httpd.conf中通过define指令定义的一个变量,值为D:/Web/www/ 在httpd.c
打开php.ini,首先找到 file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大
1.错误系统日志:为应用程序池 DefaultAppPool 提供服务的进程无法响应 Ping。进程 ID 是 2144。 解决办法:卸载完McAfee后,恢复正常 注意: 需要重新注册一vbscript和jscript组件 杀毒工具有的会把vbscript和jscript禁了 regsvr32 vbscript.dll 和regsvr32