一,为什么要对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并发数和下载流量控制的更多相关文章

  1. Apache限制IP并发数和流量控制

    使用mod_limitipconn模块限制IP并发连接数安装: wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 tar ...

  2. 如何配置apache最大的并发数

    如何配置apache最大的并发数MPM(多路处理模块)常见:1.perfork 预处理进程方式2.worker 工作者模式3.winnt 在windows使用 案例:把apache的最大并发数配置成1 ...

  3. nginx限制ip并发数

    nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量 1.添加limit_zone 这个变量只能在http使用 vi /usr/local/nginx/conf/nginx.conf l ...

  4. apache 限制连接并发数和下载速度

    apache 限制并发数 需要安装:mod_limitipconn模块 安装方法:yum install mod_limitipconn 安装完成后: 检查 Apache 模块目录,看是否含有 mod ...

  5. 利用 apache bench 模拟并发请求

    示意代码如下 ab -n 1000 -c 10 http://127.0.0.1/ -n 指的是总的请求,默认值是 1 -c 指的是并发数,默认值是 1 -t 指的是测试的总时间,测试所进行的最大秒数 ...

  6. (八)利用apache组件进行文件上传下载

    一.文件上传 文件上传,即服务器端得到并处理用户上传的文件,这个文件存放在request里,也就是需要对request进行处理. 1.1 编写html文件 <!DOCTYPE html> ...

  7. Linux 下统计Apache每分钟的并发数

    脚本非常简单,不清楚原理,逐行运行即可. 使用时将脚本复制到home目录,并添加执行权限.定时任务即可. 代码内容如下: #!/bin/sh date >> /home/date-time ...

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

    今天有个人问我,nginx怎么限制ip连接数,突然想不起来了,年龄大了,脑子不怎么好使了.还要看一下配置才想起了.那个人又问我,你测试过的吗?一下子把我问蒙了,我真没测试过了,也不知道启作用了没有. ...

  9. apache限制同一ip大并发访问及下载

    内容来自以下网站整理 http://www.jb51.net/article/58060.htmhttp://www.2cto.com/os/201202/120665.htmlhttp://blog ...

随机推荐

  1. [调试AvantCourier的笔记]

    1.manifest里不能设置target sdk 不然会出现stale error. 2.manifest里要有Internet权限 3

  2. BZOJ_4809_皇后_爆搜

    BZOJ_4809_皇后_爆搜 Description 众所不知,rly现在不会玩国际象棋.但是,作为一个OIer,rly当然做过八皇后问题.这里再啰嗦几句,皇后可以攻击到同行同列同对角线,在n*n的 ...

  3. BZOJ_2216_[Poi2011]Lightning Conductor_决策单调性

    BZOJ_2216_[Poi2011]Lightning Conductor_决策单调性 Description 已知一个长度为n的序列a1,a2,...,an. 对于每个1<=i<=n, ...

  4. http 和 ajax 的关系

    经常听到有人混淆两者之间的基本概念,认为只是毫无关系的两种东西. 其实ajax也属于http请求,只不过是http一共有两种请求,一种是同步,一种是异步当然也可以同步那就是ajax. 总所周知hhtp ...

  5. vue 常用的表单验证,包括手机号码,固定电话和身份证...

    <template> <div> <pl-content-box> <pl-page-nav :show-previous=true></pl-p ...

  6. selenium_page_object

    最简单的pageobject github地址:https://github.com/defnngj/selenium_page_objects

  7. GitHub---github入门

    setup git --- create a repository-----fork a repository -- a pull request (be social)

  8. 洛谷 - P4997 - 不围棋 - 并查集 - 模拟

    https://www.luogu.org/problemnew/show/P4997 首先是改变气的定义,使得容易计算,这个很好理解. 然后使用并查集,因为要维护整个连通块的性质. 最后的难点在于, ...

  9. SourceTree配置BeyondCompare代码冲突解决工具

    一.工具准备:SourceTree这个你得有.然后下载BeyondCompare(破解教程) 二.配置环境:SourceTree->工具->选项->比较,外部对比工具和合并工具都选择 ...

  10. npm切换到淘宝镜像

    1. npm简介 1.1.说明:npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装.卸载.管理依赖等): 1.2.使用npm安装插件:命令提示符执 ...