apache限制并发数、IP、带宽的配置方法

发布时间:2020-06-07编辑:脚本学堂
apache限制并发数、IP、带宽的配置方法

限制并发数
下载模块:
到官方网址: http://www.nowhere-land.org/programs/mod_vhost_limit/下载模块
http://www.nowhere-land.org/programs/mod_vhost_limit/mod_vhost_limit-0.4.tar.gz

安装:
apxs -c mod_vhost_limit.c -o /path/to/libexec/mod_vhost_limit.so

在 httpd.conf 加入:
LoadModule vhost_limit_module libexec/mod_vhost_limit.so
AddModule mod_vhost_limit.c

配置:
 

复制代码 代码如下:

MaxClients 150
ExtendedStatus On

NameVirtualHost *

<VIRTUALHOST * />
     ServerName        server1
     DocumentRoot      /some/where/1
     MaxVhostClients   100

<VIRTUALHOST * />
     ServerName        server2
     DocumentRoot      /some/where/2
     MaxVhostClients   30

<VIRTUALHOST * />
     ServerName        server3
     DocumentRoot      /some/where/3

其中: server1 被限制为 100 个并发线程数。 server2 被限制为 30 个并发线程数。 server3 没有被限制。
注:需 mod_status 的 ExtendedStatus On 支持!!

如超出限制的并发数在客户端就会出现503错误

限制IP连接数

到这里下载模块 http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz

安装:
 

复制代码 代码如下:
tar zxvf mod_limitipconn-0.04.tar.gz
cd mod_limitipconn-0.04
make APXS=/usr/local/apache/bin/apxs ?-----这里要按你自己的路径设置
make install APXS=/usr/local/apache/bin/apxs ?-----这里要按你自己的路径设置

编辑httpd.conf
添加
全局变量:
  

复制代码 代码如下:

<IfModule mod_limitipconn.c>
       <Location />   # 所有虚拟主机的/目录
          MaxConnPerIP 3     # 每IP只允许3个并发连接
           NoIPLimit image/*   # 对图片不做IP限制
     </Location>

  <Location /mp3>   # 所有主机的/mp3目录
    MaxConnPerIP 1         # 每IP只允许一个连接请求   
    OnlyIPLimit audio/mpeg video     # 该限制只对视频和音频格式的文件
     </Location>
</IfModule>
 

 
或者虚拟主机的:
 

复制代码 代码如下:
<VirtualHost xx.xxx.xx.xx> ##ip 地址
    ServerAdmin easy@jb200.com
    DocumentRoot /home/easy
    ServerName www.jb200.com
  <IfModule mod_limitipconn.c>
       <Location />   
      MaxConnPerIP 5       
          NoIPLimit image/*     
       </Location>
      <Location /mp3>     # 所有主机的/mp3目录
      MaxConnPerIP 2  # 每IP只允许一个连接请求   
      OnlyIPLimit audio/mpeg video # 该限制只对视频和音频格式的文件
      </Location>
  </IfModule>
  </VirtualHost>

限制带宽:

下载模块 ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c
安装:
/usr/local/apache/bin/apxs -c ./mod_bandwidth.c -o /usr/local/apache/libexec/mod_bandwidth.so 

<-------以上/usr/local/apache请设置为你的路径

编辑httpd.conf
添加:
 

复制代码 代码如下:
LoadModule bandwidth_module libexec/mod_bandwidth.so
AddModule mod_bandwidth.c

重启apache,使之生效。