本文章来给各位同学总结一下APACHE中限制IP连接数与IP并发数和流量控制实现方法,如果只限制连接数据我们可以直接使用limit,如果要限制其它的需要使用其它第三方模块了
使用mod_limitipconn模块限制IP并发连接数
安装:
wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 tar jxvf mod_limitipconn-0.24.tar.bz2 cd mod_limitipconn-0.24 /usr/local/apache2/bin/apxs -c -i mod_limitipconn.c
编辑httpd.conf
ExtendedStatus On LoadModule limitipconn_module modules/mod_limitipconn.so <ifModule mod_limitipconn.c> <location /> #对应根目录 MaxConnPerIP 5 #最大并发数为5 NoIPLimit image/* #对图片不做限制 </location> <location /test> #对根目录下的test目录做限制 MaxConnPerIP 2 #最大并发数为2 </location> </ifModule>
如果想限制虚拟主机的ip并发连接数,可以修改extra/httpd-vhost.conf把 IfModule mod_limitipconn.c 这一段复制到Virtualhost中就可以了。
测试:
测试很简单,把最大连接数调小一点,随便一个浏览器访问页面,然后按着F5,让页面不断刷新,一下就可以弹出503错误
使用mod_bandwidth模块限制带宽
mod_bandwidth可以对IP的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。
安装:
wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz tar zxvf mod_bw-0.7.tgz cd mod_bw /usr/local/apache2/bin/apxs -c -i mod_bw.c
编辑httpd.conf配置文件:
LoadModule bw_module modules/mod_bw.so <virtualHost *:80> ServerName vhost1.cszhi.com DocumentRoot /var/www/vhost1 BandwidthModule On ForceBandWidthModule On Bandwidth all 1024000 MinBandwidth all 50000 #每个客户端最高速度可达50KB LargeFileLimit * 500 50000 MaxConnection all 6 </virtualHost>
其它参数事例说明,详细的见源码包里的mod_bw.txt:
BandWidth localhost 0 #对localhost不限速 BandWidth 192.168.1.5 102400 #对192.168.1.5限速为100KB BandWidth “u:^Mozilla(.*)” 10240 #用mozilla时限速10KB BandWidth “u:wget” 102400 #如果用wget下载时限速10KB MinBandWidth all -1 #保证每个客户端最高速度可达10KB LargeFileLimit .jpg 100 10240 #jpg文件超过100KB,限速10KB #下面的510挺好,如果不设置,apache自己会报错,就根报404差不多,页面非常的丑 ErrorDocument 510 /exceed_speed.html BandWidthError 510 MaxConnection all 10 #所有ip最大连接数为10 MaxConnection 192.168.1.5 5 #192.168.1.5最大连接数为5
测试:
使用mod_bw.so模块前:
使用mod_bw.so模块后:
安装过程中可能出现的问题:
1、添加完mod_bw.so模块,重启apache时出现错误:
[root@vps httpd]# /etc/init.d/httpd restart Stopping httpd: [FAILED] Starting httpd: httpd: Syntax error on line 203 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_bw.so into server: /etc/httpd/modules/mod_bw.so: undefined symbol: apr_atomic_cas [FAILED]
修改一下mod_bw.c 就可以:
#ifdef APR_MAJOR_VERSION //添加这行 #if (APR_MAJOR_VERSION < 1) #define apr_atomic_inc32 apr_atomic_inc #define apr_atomic_dec32 apr_atomic_dec #define apr_atomic_add32 apr_atomic_add #define apr_atomic_cas32 apr_atomic_cas #define apr_atomic_set32 apr_atomic_set #endif #endif //添加这行
重新编译:
/usr/local/apache2/bin/apxs -c -i mod_bw.c
2、如果服务器没有安装apxs,可以参照以下方法安装:
apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。
输入命令查看是否有httpd-devel这个包,如果没有需要安装
rpm -qa|grep httpd yum -y install httpd-devel
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 《山羊模拟器重制版》发售平台说明
- 刘德华2002-美丽的一天[香港首批大包装首版][WAV]
- 刘文正《金装刘文正不朽经典金曲》2CD(1995环星)][WAV+CUE]
- 周慧敏《94美的化身演唱会》宝丽金1995港版2CD[WAV+CUE]
- 娃娃.1997-精选180绝版冠军精丫滚石】【WAV+CUE】
- 娃娃.1997-精选290巅峰情歌经典【滚石】【WAV+CUE】
- 王忆灵.2024-枯萎颂【FLAC分轨】
- 林墨《绿色的风》[320K/MP3][22.6MB]
- 林墨《绿色的风》[FLAC/分轨][98.61MB]
- 群星《奥运加油热歌精选》[320K/MP3][87.73MB]
- 2024的炼金龙魂是什么效果 英雄联盟炼金龙魂效果介绍
- lol全球总决赛2024冠军是哪个队伍 2024全球总决赛冠军介绍
- 英雄联盟zofgk是什么意思 英雄联盟zofgk解释一览
- 如何评价《剑星》联动《尼尔》新服装、照相模式?
- 华沙保时捷经销商展出911Turbo:强尼银手同款