单位有一台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。

转载于:https://www.cnblogs.com/greywolf/p/3450314.html

(转)Linux下apache限速和限制同一IP连接数的实现相关推荐

  1. linux下apache服务器的配置和管理(启动、重启、中断服务)

    2019独角兽企业重金招聘Python工程师标准>>> linux下apache服务器的配置和管理 一.两个重要目录: Apache有两个重要的目录: 1.配置目录/etc/http ...

  2. Linux下Apache虚拟主机配置

    说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...

  3. linux下php的安装路径,Linux下Apache、PHP、MySQL默认安装路径

    Apache: 如果采用RPM包安装,安装路径应在 /etc/httpd 目录下 Apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/ ...

  4. Linux下Apache自动监测重启脚本

    Linux下Apache自动监测重启脚本(智能化程度较高) 本站原创 [基于 署名-非商业使用-相同方式分享 2.5 协议,转载须注明链接] 本文所述apache监控脚本已经过VPS管理百科验证 由于 ...

  5. php apache 配置文件,Linux下apache支持PHP配置文件的方法

    本文用来记忆整了两天的lamp环境,如果对PHP没有要求建议全部用yum 一键安装,纯属个人经验,主要作用是用来参考的. yum install httpd #yum 安装Apache. php编译安 ...

  6. apache php 整合 linux,Linux下Apache、php3、MySQL的整合

    Linux下Apache.php3.MySQL的整合 发布时间:2005-05-19 00:03:08来源:红联作者:ming 一.所需的安装包 apache_1.3.19.tar.gz php-4. ...

  7. 重启apache下php,linux下apache重启并查看php环境

    本文主要和大家分享linux下apache重启并查看php环境,本文主要以代码来和大家分享,希望能帮助到大家. 首先切换到init.d目录下cd /etc/rc.d/init.d 然后ls列出目录: ...

  8. linux mysql端口启动失败怎么办,Linux下apache mysql等服务修改默认端口后无法正常启动解决办法...

    Linux下apache mysql等服务修改默认端口后无法正常启动解决办法 linux下 apache 等服务修改默认端口后无法正常启动解决办法 服务器上装了两个webserver,一个是nginx ...

  9. linux下apache 的安装,php安装过程

    linux下apache 的安装 1.进入work目录下:cd /usr/local/work (如没有则自己新建,命令:mkdir /usr/local/work)   2.在work目录下从网站下 ...

最新文章

  1. Java 打印数组的方法
  2. 总在说 Spring Boot 内置了 Tomcat 启动,那它的原理你说的清楚吗?
  3. springboot配置热部署
  4. 深入浅出Node.js (2) - 模块机制
  5. SAP UI5 DatePicker控件和语言设置相关的属性详解
  6. java swing游戏_Java Swing井字游戏
  7. 面试整理(1):原生ajax
  8. leetcode392. 判断子序列(动态规划)
  9. Oracle开发›如何取出每个分组的第一条记
  10. CSS侧边栏宽度不动(更改页面宽度时),内容区宽度自适应
  11. python中提交post表单_python接口自动化二(发送post请求)
  12. mschart走势图 vc_VC++6.0中MsChart控件的用法
  13. 蓝桥杯-奇妙的数字(2015-A-3)
  14. mysql 测试数据生成器_测试数据生成器
  15. Tomcat安装配置及CATALINA_HOME environment variable is not defined correctly问题的解决
  16. 细数那些深度定制的PC版 安卓系统
  17. java 用户拒绝对代码授予权限_java – @Secured函数获取授权用户的拒绝访问权限...
  18. 【千锋Python2205班8.29笔记-day06-冒泡排序和字符串基础】
  19. java 笔触类_下列属于笔触类型的绘图工具有那些?
  20. where is java_Linux下的搜索查找命令的详解(whereis)

热门文章

  1. 构造器和析构器 - C++快速入门15
  2. php glob() 列出目录及文件
  3. 分辨率与栅格系统的对应关系:
  4. Tensorflow学习教程------tensorboard网络运行和可视化
  5. js技巧之与或运算符 || 妙用
  6. Spring—Quartz定时调度CronTrigger时间配置格式说明与实例
  7. UNIX环境高级编程8.9竞争条件
  8. 1069: [SCOI2007]最大土地面积 - BZOJ
  9. AS3 in FlashDevelop
  10. 指令级并行--计算机体系结构