利用apache限制IP并发数和下载流量控制
一,为什么要对IP并发数,下载流量进行控制
说正题之前,先给大家讲个故事,那是在2007年,我进了一家公司,当时我们正在给达芙妮做电子商务网,www.idaphne.com。从三月份开始做的吧,九月份正式上线,上线后没多长时间,有一天服务器老是死,后来查了一下,一个IP访问是特别大,然后运维人员把这个IP给封了就好了,但是过了一会,这种情况又出现了,然后又把新出的这个IP也封了。我当时就想肯定是别人买鞋,买的不爽,退钱又搞的人家不爽,人家才想起来搞你的网站了,像这种功击很低级了,刚上线,运维人员估计还没有来得及考虑这一些,这就是我们为什么要对ip并发数进行控制的原因。对下载流量进行控制,是对网络带宽进行管理,也是非常重要的。不能有很多人下东西,直接把你网站下挂了
二,安装mod_limitipconn限制IP连接数
1,下载地址:http://dominia.org/djao/limitipconn2.html
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的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。
1,下载地址:http://bwmod.sourceforge.net/
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错误,看下图
利用apache限制IP并发数和下载流量控制的更多相关文章
- Apache限制IP并发数和流量控制
使用mod_limitipconn模块限制IP并发连接数安装: wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 tar ...
- 如何配置apache最大的并发数
如何配置apache最大的并发数MPM(多路处理模块)常见:1.perfork 预处理进程方式2.worker 工作者模式3.winnt 在windows使用 案例:把apache的最大并发数配置成1 ...
- nginx限制ip并发数
nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量 1.添加limit_zone 这个变量只能在http使用 vi /usr/local/nginx/conf/nginx.conf l ...
- apache 限制连接并发数和下载速度
apache 限制并发数 需要安装:mod_limitipconn模块 安装方法:yum install mod_limitipconn 安装完成后: 检查 Apache 模块目录,看是否含有 mod ...
- 利用 apache bench 模拟并发请求
示意代码如下 ab -n 1000 -c 10 http://127.0.0.1/ -n 指的是总的请求,默认值是 1 -c 指的是并发数,默认值是 1 -t 指的是测试的总时间,测试所进行的最大秒数 ...
- (八)利用apache组件进行文件上传下载
一.文件上传 文件上传,即服务器端得到并处理用户上传的文件,这个文件存放在request里,也就是需要对request进行处理. 1.1 编写html文件 <!DOCTYPE html> ...
- Linux 下统计Apache每分钟的并发数
脚本非常简单,不清楚原理,逐行运行即可. 使用时将脚本复制到home目录,并添加执行权限.定时任务即可. 代码内容如下: #!/bin/sh date >> /home/date-time ...
- nginx与apache 限制ip连接数和带宽方法
今天有个人问我,nginx怎么限制ip连接数,突然想不起来了,年龄大了,脑子不怎么好使了.还要看一下配置才想起了.那个人又问我,你测试过的吗?一下子把我问蒙了,我真没测试过了,也不知道启作用了没有. ...
- apache限制同一ip大并发访问及下载
内容来自以下网站整理 http://www.jb51.net/article/58060.htmhttp://www.2cto.com/os/201202/120665.htmlhttp://blog ...
随机推荐
- codeforces B. Ilya and Queries 解题报告
题目链接:http://codeforces.com/problemset/problem/313/B 题目意思:给出一个只有 "." 和 "#" 组成的序 ...
- laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)
laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...
- 关于使用response.addHeader下载中文名乱码问题
介绍下我项目中遇到的问题:在数据库导出Excel文件的过程中,导出文件中文名始终异常,最终结果发现需要在response.addHeader 中的 filename = "xxxx" ...
- python操作oracle数据库
本文主要介绍python对oracle数据库的操作学习 包含:oracle数据库在Windows操作系统下的安装和配置.python需要安装的第三方拓展包以及基本操作的样例学习. 1 ...
- [APIO 2017] 商旅
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5367 [算法] 很明显的分数规划问题 预处理从一个点走到另一个点所获最大利润和最短路 ...
- myeclipse_JUnit导包问题
第一种方式: MyEclipse创建JUnit单元测试时,在需要测试的代码段前键入“@Test”时,按ctrl和1一般会自动提示JUnit需要导包,但有时会无法提示这个建议,如图所示.该经验教你如何解 ...
- java集合框架之HashSet
参考http://how2j.cn/k/collection/collection-hashset/364.html#nowhere 元素不能重复 Set中的元素,不能重复重复判断标准是: 首先看ha ...
- webix前端架构的项目应用(项目框架为Web API+autofac+ioc+mysql+webix)
webix框架兼容javascript.HTML.CSS,应用比较灵活,应用框架时,配合后台webAPI,整个web项目里面,App文件夹保存前台的多语言文件,图片文件,webix原代码js.css, ...
- 09.客户端集成IdentityServer
09.客户端集成IdentityServer 新建API的项目 dotnet new webapi --name ClientCredentialApi 在我们上一节课的代码IdentityServe ...
- console.log是异步么?
让我们来看一个例子: var a = {}; console.log(a); a.foo = 'foo'; 4 console.log(a); 但是问题来了:在chorme跟firfox一样么? 结果 ...