设为首页 收藏本站
查看: 792|回复: 0

[经验分享] 利用apache限制IP并发数和下载流量控制

[复制链接]

尚未签到

发表于 2017-1-11 08:06:00 | 显示全部楼层 |阅读模式

一,为什么要对IP并发数,下载流量进行控制


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



二,安装mod_limitipconn限制IP连接数


1,下载地址:http://dominia.org/djao/limitipconn2.html


2,安装:[iyunv@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的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。


1,下载地址:http://bwmod.sourceforge.net/


2,安装:[iyunv@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错误,看下图


DSC0000.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326711-1-1.html 上篇帖子: Apache+tomcat+jk处理请求的简单流程 下篇帖子: Apache Web服务器访问控制机制全解析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表