nginx与apache 限制ip连接数和带宽方法
今天有个人问我,nginx怎么限制ip连接数,突然想不起来了,年龄大了,脑子不怎么好使了。还要看一下配置才想起了。那个人又问我,你测试过的吗?一下子把我问蒙了,我真没测试过了,也不知道启作用了没有。
1,配置nginx.conf
代码如下 | 复制代码 |
http{ [root@localhost nginx]# /etc/init.d/nginx reload //重新加载 |
2,测试限制ip连接数
代码如下 | 复制代码 |
[root@localhost nginx]# webbench -c 100 -t 2 http://127.0.0.1/index.php Benchmarking: GET http://127.0.0.1/index.php Speed=429959 pages/min, 2758544 bytes/sec. [root@localhost nginx]# cat /var/log/nginx/access.log|grep 503 |more //这样的数据有很多,最好加个more或者less |
..............................................................................................
通过以上测试,可以得出限制ip连接数是没有问题的,但是限制带宽看不出来,说实话这个不好测试,所以就没测试了
利用apache限制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 |
说明:解压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
最新文章
- 生成Kindle可读的mobi和PDF电子书
- Qt 之 入门例程 (一)
- BZOJ4154: [Ipsc2015]Generating Synergy
- eclipse工程加入jquery.min.js报错:missing semicolon
- Android学习笔记(四)
- 手写DataSet,DataTable
- 华为OJ平台——首次不重复字符
- hibernate建表 一对多 多的一方控制一的一方
- 1、elasticsearch简介
- 如何用LinkedHashMap实现LRU缓存算法
- IT 必备电脑快捷键
- thinkphp 找数据库某个字段为空的数据,PHP 数据调取 空数据
- workerman 安装event 扩展
- Spring Boot Actuator [监控与管理]
- Golang 爬虫-广度优先(获取html文档中的超链接)
- jsp页面给字体加颜色
- 解决报错error the @annotation pointcut expression is only supported at Java 5
- C#基础课程之四集合(ArrayList、List<;泛型>;)
- DokuWiki 开源wiki引擎程序
- VC++下使用ADO操作数据库
热门文章
- ASP-AJAX-分页格式
- vue 指令系统的使用
- 我的Android进阶之旅------>Android疯狂连连看游戏的实现之游戏效果预览(一)
- IDEA main方法自动补全(转发:http://blog.csdn.net/zjx86320/article/details/52684601)
- VIM YCM 插件安装问题记录
- shell基础part3
- 全自动安装mongoDB数据库的shell脚本
- 动态创建selectjs 操作select和option
- Data Structure Array: Find the Missing Number
- 狄利克雷卷积&;莫比乌斯反演