`
m635674608
  • 浏览: 5042756 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多
摘要: 给大家推荐两个Apache模块,一个是mod_vhost_limit,用来限制请求并发数,一个是mod_limitipconn,用来控制 Apache的并发联接数,通过该模块可以限制同一来源IP的并发联接数。另一个模块是bw_mod,用于Apache网站带宽控制,可以根据来源IP, 网段来划分带宽,也可以根据网站文件类型来限制带宽,参数比较灵活,可以根据自己实际情况进行调整。

给大家推荐两个Apache模块,一个是mod_vhost_limit,用来限制请求并发数,一个是mod_limitipconn,用来控制 Apache的并发联接数,通过该模块可以限制同一来源IP的并发联接数。另一个模块是bw_mod,用于Apache网站带宽控制,可以根据来源IP, 网段来划分带宽,也可以根据网站文件类型来限制带宽,参数比较灵活,可以根据自己实际情况进行调整。

限制并发数

到官方网址: http://ivn.cl/category/apache/ (看不懂的,直接查找mod_vhost_limit)


安装: 
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 >

 

 

或者虚拟主机的: 
< VirtualHostxx.xxx.xx.xx > ##ip 地址
    ServerAdmin easy@phpv.net
    DocumentRoot /home/easy
    ServerName www.phpv.net
  < IfModulemod_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 
from: http://www.phpv.net/article.php/300 

---------------------------------------------------------------------------------------------- 

一、对于mod_limitipconn,其实该模块不仅提供客户端并发联接数的控制能力,从安全角度来说还可以起到对抗固定来源IP地址发起的 DOS攻击,包括来源固定的大量访问请求型攻击(大量GET或POST请求型的攻击),当同一来源IP地址的联接数超过限定的值后,会弹回对方的访问请 求,给对方一个“503服务临时无效”的响应。当Apache服务器受到大量的访问请求型攻击的时候,由于大量的Apache进程及PHP和MYSQL运 行消耗,会导致服务器资源迅速耗尽,网站打开缓慢或瘫痪。如果是此种类型的攻击,使用mod_limitipconn模块则可以有效地提升服务器的抗攻击 能力,因为大量的请求被弹回,节省了服务器运行PHP及MYSQL的性能消耗。当然只要请求进了80端口,不管是接受还是弹回请求,Aapche都有运行 成本,所以此方法只能是减轻而无法解决,毕竟应用层的处理效率是比较低的。 
二、对于网站访问量比较大、使用了mod_limitipconn模块且限制同一客户端并发联接数低于3的情况下,如果用Apache默认的配置参数,极 可能经常出现“服务临时无效”的提示。因为Apache默认是设置“KeepAlive on”,且“KeepAliveTimeout 180”,所以一旦建立联接,那么在3分钟内这个联接是不会被释放的。所以如果网站不同页面点击频率比较高或图片资源比较多的话,会经常出现服务临时无效 的提示。那么有两种方式去解决,一是加大并发联接数的量,比如设置为普通站点10个并发联接数,图片站点则20个。另一种方式就是如果你不想加大这个值的 话,可以设置KeepAlive为off,然后缩短Timeout时间,这样联接会很快被释放出来。具体情况根据需要去调整测试,以得到一个最适合自己站 点情况的值。 
三、如果要同时限制并发联接数与带宽的话,就用bw_mod+mod_limitipconn,因为虽然bw_mod也可以控制并发联接数,但他是针对某 个目录或整个网站的并发联接数,是用来控制服务器端的总联接数,比如设置MaxConnection all 1000,那么这个网站所能接受的最大并发联接数为1000,而并不是限制每一客户端的并发联接数,而mod_limitipconn则是针对同一来源 IP的客户端的并发联接数,所以这两者的联接数限制是有所区别的。 
四、个人感觉用了bw_mod及mod_limitipconn模块后,网站访问速度有所下降,能凭直观地感觉出来,并且CPU的负载有所上升。特别是在 网站访问量比较大的情况下,这两个模块会消耗一定的主机性能,所以轻重权衡这个得大家自己根据情况来采用了。另外bw_mod里有个参数是用来设置控制精 度与频率的,默认是1000毫秒,如果你想提高带宽控制精度就改小这个数值,但会消耗更多的CPU资源,反之亦然,降低精度可提升性能。
 
https://my.oschina.net/xinger/blog/365446
分享到:
评论

相关推荐

    Apache并发数、带宽限制

    ### Apache并发数与带宽限制知识点详解 #### 一、并发数限制 **并发数限制**是Apache服务器中一项重要的功能,它可以帮助管理员控制每个虚拟主机的最大并发连接数,从而避免服务器因过载而崩溃。 ##### 1.1 下载...

    nginx与apache限制ip连接数和带宽方法.docx

    nginx 与 Apache 限制 IP 连接数和带宽方法 本文档旨在介绍如何使用 Nginx 和 Apache 限制 IP 连接数和带宽的方法。这些方法可以帮助管理员控制服务器的资源使用,避免因为大量恶意请求而导致服务器崩溃。 一、...

    Linux下Apache并发连接数和带宽控制

    在Linux环境下,Apache的并发连接数和带宽可以通过两个模块来实现:mod_limitipconn和mod_bandwidth。这两个模块是由Apache社区的开发者创建的,用于增强服务器的管理能力。 1. **mod_limitipconn**: 这个模块...

    Linux下Apache并发连接数和带宽控制.pdf

    这两个模块分别用于控制并发连接数和带宽使用,以确保服务器的稳定运行。 1. **mod_limitipconn**: mod_limitipconn模块允许管理员限制每个IP地址同时连接到服务器特定目录的并发连接数量。这对于防止恶意用户或...

    APACHE 流量控制及连接数限制.

    - 使用`limitipconn_module`模块限制每个IP地址的最大并发连接数: ```conf MaxConnPerIP 3 # 每个IP地址的最大并发连接数为3 ``` #### 注意事项 - 确保在执行任何更改之前备份您的`httpd.conf`文件。...

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

    这两个模块是非官方的Apache模块,提供了对同一IP地址的并发连接数和下载速度的限制。 首先,我们需要下载并安装这两个模块。可以通过wget命令从指定的URL获取源代码包,例如: ``` wget ...

    apache优化和模块安装

    mod_limitipconn 用于限制每个IP地址的并发连接数,防止DDoS攻击;mod_evasive 是一种DoS防护模块,可以检测并阻止恶意请求。这些模块的添加增强了服务器的安全性和抗攻击能力。 然后,配置 Apache 使用 worker MPM...

    linux下限值并发速度

    `mod_limitipconn` 是一个开源的 Apache 模块,它允许管理员限制来自单一 IP 地址的并发连接数。这有助于防止某个 IP 地址发起过多的请求而造成服务器负载过重。 **1. 安装 `mod_limitipconn`** - 首先下载 `mod_...

    win版apache防ddos mod_dosevasive22

    信任ip名单应在apache配置文件中添加如下格式的字段(可以是ip段) DOSWhitelist 127.0.0.1 DOSWhitelist 127.0.0.* ip地址后三段可以使用通配符,并且可以各格式复用 TWEAKING APACHE keep-alive项是确保能...

    nginx限制连接数ngx_http_limit_conn_module模块1

    以下是一个完整的配置示例,限制了每个 IP 地址的最大并发连接数和服务器的总连接数: ```nginx http { limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m;...

    APACHE流量控制实施文档

    2. **`libapache2-mod-limit-ipconn`**:该模块用于限制单个IP地址能同时建立的最大连接数,防止某些客户端过度消耗服务器资源。 #### 三、准备工作 在开始配置之前,首先需要下载以下安装包: - `httpd-2.0.59....

    apache,tomcat负载均衡和session复制

    2. **负载均衡策略**:Apache支持多种负载均衡算法,如轮询(round-robin)、最少连接数(least connections)、IP哈希(IP-based hashing)等。选择哪种策略取决于应用场景,例如,如果服务器处理时间不均,可以...

    cacti模板二:Apache监控模板

    例如,它可能需要知道Apache日志文件的位置,或者需要处理不同类型的统计信息,如并发连接数、错误率等。在实际部署时,你需要确保该脚本在Cacti服务器上可执行,并且配置正确。 在Cacti中导入"5min.xml"模板后,你...

    mod_bw-0.8.zip

    `mod_bw` 是一个针对Apache的第三方插件,专为带宽管理和连接数控制设计,尤其适用于需要限制网站访问速度和服务并发性的场景。在本文中,我们将深入探讨 `mod_bw` 的核心特性、安装过程以及如何配置它以满足不同的...

    apache2 JK tomcat6 集群 负载均衡

    然后,需要在Apache的虚拟主机配置中设置负载均衡规则。在Tomcat端,需要开启集群支持,配置集群侦听器和消息广播机制。 4. **session复制**:在集群环境中,用户会话(session)的管理是关键问题。为了保证会话的...

    linux站点配置与管理

    - **限制同时连接数**: 在vsFTPd配置文件中设置限制,禁止多线程登录。 3. **有效期2年** - **自动续期**: 可以通过脚本或定时任务自动检测虚拟主机的有效期,并在到期前进行续费提醒或自动续期。 #### 实验配置...

    个人电脑架设服务器.doc

    - 性能:优化服务器配置,如调整缓存大小、限制并发连接数等。监控系统资源使用情况,适时升级硬件以应对高流量。 五、测试与维护 搭建完成后,通过外部网络尝试访问你的服务,确保一切正常。定期检查日志文件,...

    newpages.zip_工程

    10. **性能限制**:服务器的性能限制,如并发连接数、带宽等,也可能导致通讯失败。检查服务器负载,看是否超过了承受范围。 综上所述,解决“通讯失败”的问题需要多方面排查,从参数设置、网络环境到服务器配置和...

Global site tag (gtag.js) - Google Analytics