单位有一台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. Windows系统下安装Python的SSH模块教程

    Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...

  2. Jenkins api java 调用

    String filepath = "E:\\config.xml"; HttpClient client = new DefaultHttpClient(); HttpPost ...

  3. linux 分区

    1.硬盘分区分为基本分区和扩展分区, 扩展分区分下去就是逻辑分区,而且逻辑分区没有数量上的限制. 2.查看linux系统分区具体情况 fdisk - l 3.查看某个目录是哪个分区下的 df /boo ...

  4. IO流文件字符输入输出流,缓冲流

    由于字节输入输出流在操纵Unicode字符时可能有乱码现象 于是就有了操作字符的输入输出流 Reader ,Writer和他们的子类FileReader,FileWrite(其实就是用来辅助构造的 W ...

  5. 高放的c++学习笔记之关联容器

    标准库提供8个关联容器 按关键字有序保存有(红黑树实现) set map multset 关键字可重复出现的set multimap  关键字可重复出现的map 无序保存 哈希实现 unorderre ...

  6. python的hashlib模块

    # -*- coding: utf-8 -*- """python 的MD5 sha1 模块""" import hashlib #md5的 ...

  7. CodedDFS日志配置

    本文根据Log4j的配置属性,编写了用于记录BMBR编码的日志 author: zyumeng Blog: [url] http://www.cnblogs.com/zyumeng/ [/url] 利 ...

  8. V9 二次开发技术篇之 模型数据库

    应V9粉丝的建议,本人今天讲一下 MVC中的M 数据库模型 首先 在 phpcms\model  建一个模型文件test_model.class.php <?phpdefined('IN_PHP ...

  9. HTTPS 服务器搭建

    利用NGINX搭建HTTPS服务器不是一件困难的事情,过程包括以下几步 第一步:利用OpenSSL制作证书 第二步:安装NGINX,configure中保证加入ngx_http_ssl_module. ...

  10. 关于ASP.NET MVC中的视图生成

    在 ASP.NET MVC 中,我们将前端的呈现划分为三个独立的部分来实现,Controller 用来控制用户的操作,View 用来控制呈现的内容,Model 用来表示处理的数据.   从控制器到视图 ...