单位有一台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连接数的实现的更多相关文章

  1. (转)Linux下Apache 限速模块安装笔记

    参考文章:http://www.pcmag.com.cn/solution/net/story/200704/51003104.shtml 限线程:http://dominia.org/djao/li ...

  2. linux 下 apache相关;启动、停止、重启命令;配置文件位置等等

    linux 下 apache启动.停止.重启命 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/usr/l ...

  3. Linux下apache+phppgadmin+postgresql安装配置

    Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...

  4. 分享:linux下apache服务器的配置和管理

    linux下apache服务器的配置和管理. 一.两个重要目录: Apache有两个重要的目录:1.配置目录/etc/httpd/conf:2.文档目录/var/www: 二.两种配置模式: Apac ...

  5. linux 下apache安装、启动和配置

    linux 下 apache安装 1:系统安装,这里就不说了,网上有很多,也很简单.顺便说下,我用的是redhat 9: 2:在图形界面下下载apache 安装包,我下的是 httpd-2.2.9.t ...

  6. linux 下 apache启动、停止、重启命令

    原文:linux 下 apache启动.停止.重启命令 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/u ...

  7. [Linux]Linux下Apache服务器配置

    Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm                 //主程序包 httpd-devel-2.2.3-29.e15.i ...

  8. Linux下Apache服务器配置

    Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm                 //主程序包 httpd-devel-2.2.3-29.e15.i ...

  9. Linux下Apache服务部署静态网站------网站服务程序

    文章链接(我的CSDN博客): Linux下Apache服务部署静态网站------网站服务程序

随机推荐

  1. ASP.NET-FineUI开发实践-7

    下拉显示grid列表.其实很简单,但是试了很多方法,水平有限,主要是都不好使,还是简单的好使了,分享下. 先是看了看网上的,是直接写个了extjs控件类(我也不懂),然后直接用就行了,要写成FineU ...

  2. mysql_fetch_assoc() ,mysql_fetch_array() , mysql_fetch_row()的区别

    1. mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组. 返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false. 输出: Array ( [LastNa ...

  3. 跟我学android-搭建Android开发环境(一)

    Android官网地址:http://developer.android.com/,下载和安装 AndroidSDK请按如下步骤进行: 下载ADT 和SDK:http://developer.andr ...

  4. 1、CentOS6.5系统安装及学习

    1.   CentOS6.5系统安装及学习 1.需要的工具,Vmware workstation12虚拟机,CentOS6.5 ISO镜像,选择的是32位系统. 2.下载CentOS6.5地址:htt ...

  5. sublime在Mac osx下安装z-codeing(即emmet)

    sublime安装插件可以根据插件名称通过package control就可以很方便的安装好.但是sublime没有默认安装package control,所以我们必须先安装它. 安装package ...

  6. JavaScript中的內定物件與函式: arguments, callee, caller, this, apply(), call()

    arguments, caller, callee, this都是用在函式(function)內的特殊內定物件.而apply()及call()則是用來呼叫函式的不同作法. arguments可用來取得 ...

  7. Redis+PHP扩展的安装和Redis集群的配置 与 PHP负载均衡开发方案

    以前有想过用 Memcache 实现M/S架构的负载均衡方案,直到听说了 Redis 后才发现它做得更好.发了几天时间研究了一下 Redis ,感觉真的很不错,特整理一下! 以下操作都是在 SUSE  ...

  8. mysql导入excel数据

    1.第一步我们得到了一个excel表,里面有很多需要我们导入的数据. 2.删除第1行"准考证号""XXX"....只保留我们需要的数据部分. 3.单击" ...

  9. 零基础创建RCP工程

    一.环境搭建 1. 安装java jdk,我选择的是jdk 1.7版本,配置环境变量: 2. 下载并安装java EE: 二.创建工程 1. 打开File-> New ->other -& ...

  10. MVC中修改报错

    修改的时候有空值传入.