(转)Linux下apache限速和限制同一IP连接数的实现
单位有一台DELL的服务器,4核双CPU,4G内存,1TB的存储空间,闲来无事,申请了域名http://www.zxzy123.cn,做了个网站,本以为用这样的配置做个下载站是绰绰有余了,没想到上线没几天,忽然发现有时打不开网页或很慢,惨了,受攻击了,心里想,查看记录,没发现什么问题,带宽也没用尽,ftp很快,关闭了下载链接,发现apache又很快了,问题应该就在这里,可能是用户开太多线程下载大软件了(我的好多软件都是GB级的),如何解决这个问题呢?总不能不让用户下载吧,说干就干,上网找了些资料,发现了两个很好的apache模块: mod_bw 和 mod_limitipconn ;分别是限速和限制IP连接数的模块。下面就是具体的操作步骤。
一、安装准备
用 whereis apxs 命令先确定你的系统是否有apxs文件及其路径,如果没有请安装(redhat linux自带的apache就可能没安装)
一、安装限速模块
1、下载:wget http://legacy.ivn.cl/files/source/mod_bw-0.92.tgz
如果以上地址失效,请自行到 http://ivn.cl/category/apache/查找
2,安装:
#tar -xvf mod_bw-0.92.tgz
#cd mod_bw
#/usr/local/apache2/bin/apxs -i -c -a mod_bw.c
3、OK,限速模块安装完毕,一会我们再回过头来配置它
二、安装限制IP连接数模块
1、下载:wget http://dominia.org/djao/limit/mod_limitipconn-0.23.tar.bz2
2、安装
#tar -jxvf mod_limitipconn-0.23.tar.bz2
#cd mod_limitipconn-0.23
#vi Makefile
修改:apxs = “/usr/local/apache2/bin/apxs” # 这里是自己apache的apxs路径,加载模块
或者
#/usr/local/apache2/bin/apxs -i -c -a mod_limitipconn.c 来加载模块
#make
#make install
3、OK,IP连接数限制模块安装完成
三、以下配置httpd.conf文件
1、确定是否有以下两句,如果有,如上面的安装是成功的,如果没有请手动添加试试(
不一定完成相同)
LoadModule limitipconn_module modules/mod_limitipconn.so
LoadModule bw_module modules/mod_bw.so
2、找到ExtendedStatus On,如果前面有#号的话要把#号去掉,如果没有这个选项需要自己手工添加
3、配置限速,添加以下语句(#后面的中文字全部不要输,这里是说明用的),配置限速,可根据控制的范围放在全局域或放在虚拟主机域
#这个 module 预设是关闭的,要将他开启才能够使用
BandwidthModule On
#这个 module 预设不会过滤每个需求,如果您开启他,他将处理过滤每个需求
ForceBandWidthModule On
#最大带宽,这个有两个参数。第一个是限制来源的位置,也就是该位置受限制。他可以是完整的 hostname、网域名称或 IP。可搭配遮罩使用,例如 192.168.0.0/24 or 192.168.0.0/255.255.255.0,all代表所有 。另一个参数是限制的速率,以 bytes 每秒为单位;假如为 0,则不受限制。
Bandwidth all 10000 #限速10K
#最小带宽,一般不限制,以下为不限制
MinBandwidth all -1
#大文件下载限制,顾名思义,这设定是专门用来限制大型档案的。第一个参数是指文件名,可以使用 * 代表全部。也可使用 .rar 等,
第二个参数单位是 kbyte,只要超过这个 Size 就被规范在这个设定的限速中,最后一个参数就是被限制的速率,单位是byte/s。
LargeFileLimit * 500 10240
4、配置限制IP连接数,添加以下语句(#后面的中文字全部不要输,这里是说明用的),配置限速,可根据控制的范围放在全局域或放在虚拟主机域
<IfModule mod_limitipconn>
<Location /> #需要控制的路径,相对于网站根目录
MaxConnPerIP 3 #限制的线程数
NoIPLimit image/* #对图片文件不做限制 如果仅限制某几种文件请用以下语句,本语句就不要
OnlyIPLimit audio/mpeg video/* application/x-rar #只对音频视频文件,自定义 minetype文件起作用
</Location>
</IfModule>
5、保存httpd.conf,重启httpd,一切OK。
(转)Linux下apache限速和限制同一IP连接数的实现的更多相关文章
- (转)Linux下Apache 限速模块安装笔记
参考文章:http://www.pcmag.com.cn/solution/net/story/200704/51003104.shtml 限线程:http://dominia.org/djao/li ...
- linux 下 apache相关;启动、停止、重启命令;配置文件位置等等
linux 下 apache启动.停止.重启命 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/usr/l ...
- Linux下apache+phppgadmin+postgresql安装配置
Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...
- 分享:linux下apache服务器的配置和管理
linux下apache服务器的配置和管理. 一.两个重要目录: Apache有两个重要的目录:1.配置目录/etc/httpd/conf:2.文档目录/var/www: 二.两种配置模式: Apac ...
- linux 下apache安装、启动和配置
linux 下 apache安装 1:系统安装,这里就不说了,网上有很多,也很简单.顺便说下,我用的是redhat 9: 2:在图形界面下下载apache 安装包,我下的是 httpd-2.2.9.t ...
- linux 下 apache启动、停止、重启命令
原文:linux 下 apache启动.停止.重启命令 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/u ...
- [Linux]Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...
- Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...
- Linux下Apache服务部署静态网站------网站服务程序
文章链接(我的CSDN博客): Linux下Apache服务部署静态网站------网站服务程序
随机推荐
- ubuntu 切换JDK版本
安装: 第一种方式:sudo apt-get install openjdk-7-jdk(or openjdk-6-jdk) 第二种方式:tar -zxvf jdk-7u79-linux-x64.ta ...
- POJ 2976 Dropping tests 01分数规划
给出n(n<=1000)个考试的成绩ai和满分bi,要求去掉k个考试成绩,使得剩下的∑ai/∑bi*100最大并输出. 典型的01分数规划 要使∑ai/∑bi最大,不妨设ans=∑ai/∑bi, ...
- repeater 分页显示数据
表名:ChinaStates 控件:Repeater 查询代码DA: public class ChinaStatesDA { private DataClassesDataContext Conte ...
- ASP.NET-FineUI开发实践-5
1.tree的右键事件和单击事件 页面就不写了,准备一个树和一个菜单控件,随便写点啥 JS:注意注释 var menuSettings = F('menuSettings'); var tree = ...
- CentOS安装JDK7
1.下载jdk-7-linux-x64.rpm(http://www.Oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-downlo ...
- GUI按键绑定到键盘和打印组件
首先说明一点 按键绑定到键盘和设置快捷键是不一样的 按键绑定键盘是按键有了和button一样的功能,没有焦点时也能使用(WHEN_IN_FOCUSED_WINDOW),甚至有时候单独作为一个事件(有自 ...
- cookie,localStorage,sessionStorage
1.cookie 由于HTTP是一种无状态的协议,服务器单从请求内容上无法判断客户身份.因此,cookie弥补这个缺陷,每次请求都携带cookie,这样服务器就能能知道不同的客户端请求了. 对于同一域 ...
- sitecore(key\value\language)的灵活应用
1.当我们在做网站的时候是否会因为一个页面的文字变动来回改变.这样的麻烦sitecore都帮我们解决了. 2.sitecore分类key和value和语言几个维度.不同的key会因为不同的语言显示不同 ...
- iOS网络编程-ASIHTTPRequest框架同步请求-备用
在ASIHTTPRequest框架中与HTTP请求相关的类有:ASIHTTPRequest和ASIFormDataRequest,其中最常用的是ASIHTTPRequest,ASIFormDataRe ...
- 重构遗留程序的一次案例学习(java程序)
遗留代码经常是腐臭的,每个优秀的开发者都想把它重构.而进行重构的一个理想的先决条件是,它应该包含一组单元测试用例,以避免产生回归缺陷.但是为遗留代码编写单元测试可不是件容易的事,因为它经常是一团糟.要 ...