返回顶部

[文摘] Linux下apache限速和限制同一IP连接数的实现

[复制链接]
awagink 显示全部楼层 发表于 2014-2-13 21:49:48 |阅读模式 打印 上一主题 下一主题
一,为什么要对IP并发数,下载流量进行控制
说正题之前,先给大家讲个故事,那是在2007年,我进了一家公司,当时我们正在给达芙 妮做电子商务网,www.idaphne.com。从三月份开始做的吧,九月份正式上线,上线后没多长时间,有一天服务器老是死,后来查了一下,一个IP 访问是特别大,然后运维人员把这个IP给封了就好了,但是过了一会,这种情况又出现了,然后又把新出的这个IP也封了。我当时就想肯定是别人买鞋,买的不 爽,退钱又搞的人家不爽,人家才想起来搞你的网站了,像这种功击很低级了,刚上线,运维人员估计还没有来得及考虑这一些,这就是我们为什么要对ip并发数 进行控制的原因。对下载流量进行控制,是对网络带宽进行管理,也是非常重要的。不能有很多人下东西,直接把你网站下挂了

二,安装mod_limitipconn限制IP连接数
2,安装:[root@BlackGhost mod_limitipconn-0.22]# /usr/local/apache2/bin/apxs -c -i mod_limitipconn.c
3,配置如下vi httpd.conf
  • ExtendedStatus On  
  • LoadModule limitipconn_module modules/mod_limitipconn.so  
  •   
  • <IfModule mod_limitipconn.c>  
  •     <Location />                                              #对应根目录  
  •           MaxConnPerIP 6                                  #最大并发数  
  •           NoIPLimit image/*                              #对图片不做限制  
  •     </Location>  
  •     <Location /download>                             #对根目录下面的download  
  •          MaxConnPerIP 1                                    #最大并发数为1  
  •     </Location>  
  • </IfModule>  

说明:解压mod_limitipconn-0.22.tar.gz后,文件里面有一个README里 面有配置的拿出来,根据自己的需要改一改就行了,如果真的不会,可以上网上查,像apache用的人这么多,我想你的问题别人也遇到过,一查肯定能查到。 如果你想放到虚拟主机进行最大并发数控制,可以修改extra/httpd-vhost.conf把<IfModule  mod_limitipconn.c>这个东西copy到<Virtualhost>中就可以了
三,安装mod_bandwidth
mod_bandwidth可以对IP的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。
2,安装:[root@BlackGhost mod_bw]# /usr/local/apache2/bin/apxs -c -i mod_bw.c
3,配置如下vi httpd.conf 加上LoadModule bw_module modules/mod_bw.so
然后打开vi httpd-vhosts.conf
  • listen 10004  
  • NameVirtualHost *:10004  
  • <VirtualHost *:10004>  
  • DocumentRoot "/home/zhangy/www/test"  
  • ServerName *:10004  
  • BandwidthModule On  
  • ForceBandWidthModule On  
  • Bandwidth all 1024000  
  • MinBandwidth all 50000  
  • LargeFileLimit * 500 50000  
  • MaxConnection all 6  
  • ErrorLog "/home/zhangy/apache/www.test.com-error.log"  
  • CustomLog "/home/zhangy/apache/www.test.com-error.log" common  
  • </VirtualHost>  

解压bandwidth的压缩文件后,里面有一个mod_bw.txt有详细的说明和实例,下面是部分参数说明
1,BandWidth localhost 0                                      #对localhost不限速
2,BandWidth 192.168.1.5 102400                       #对192.168.1.5限速为100KB
3,BandWidth “u:^Mozilla(.*)” 10240              #用mozilla时限速10KB
4,BandWidth “u:wget” 102400                      #如果用wget下载时限速10KB
5,MinBandWidth all -1                                      #保证每个客户端最高速度可达10KB
6,LargeFileLimit .jpg 100 10240                      #jpg文件超过100KB,限速10KB
7,#下面的510挺好,如果不设置,apache自己会报错,就根报404差不多,页面非常的丑
ErrorDocument 510 /exceed_speed.html
BandWidthError 510
8,MaxConnection all 10                                       #所有ip最大连接数为10
9,MaxConnection 192.168.1.5 5                         #192.168.1.5最大连接数为5
四,测试
测试很简单,你按着F5,让他老涮新就行了,把最大连接数调小一点,一下就可以弹出503错误,看下图


最大并发数测试



您需要登录后才可以回帖 登录 | 注册

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ