参考文章:http://www.pcmag.com.cn/solution/net/story/200704/51003104.shtml

限线程:http://dominia.org/djao/limitipconn2.html

限速:http://www.ivn.cl/#vhostlimit

# tar jxvf mod_limitipconn-0.23.tar.bz2

# cd mod_limitipconn-0.23

# /usr/local/apache/bin/apxs -c -i -a mod_limitipconn.c

Libraries have been installed in:
   /usr/local/apache/modules

....

[activating module `limitipconn' in /usr/local/apache/conf/httpd.conf]

参考http://dominia.org/djao/limitipconn2-README

# vi /usr/local/apache/conf/httpd.conf

<IfModule mod_limitipconn>
    <Location /t>
        MaxConnPerIP 1
    </Location>
</IfModule>

# cd mod_bw

# /usr/local/apache/bin/apxs -c -i -a mod_bw.c

Libraries have been installed in:
   /usr/local/apache/modules
参考:http://www.ivn.cl/files/txt/bw_mod-0.6.txt

# vi /usr/local/apache/conf/httpd.conf

<Directory />

BandWidthModule On

ForceBandWidthModule On #这个没加上之前试了几次发现不起作用
BandWidth     all 102400
MinBandWidth all 51200
MaxConnection all 50
</Directory>

出错:

httpd: Syntax error on line 55 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_bw.so into server: /usr/local/apache/modules/mod_bw.so: undefined symbol: apr_atomic_cas

http://linuxp2p.net/blog/2007/03/apache2-mod_bw/

#vi mod_bw.c
修改一下mod_bw.c 就可以
#ifdef APR_MAJOR_VERSION   //添加这行
#if (APR_MAJOR_VERSION < 1)
    #define apr_atomic_inc32 apr_atomic_inc
    #define apr_atomic_dec32 apr_atomic_dec
    #define apr_atomic_add32 apr_atomic_add
    #define apr_atomic_cas32 apr_atomic_cas
    #define apr_atomic_set32 apr_atomic_set
#endif
#endif  //添加这行  重新编译就 ok

近几天单位某个分网站下载量过大,导致服务器负载很高,拖得其他网站访问也很慢。限速喽~
网上查了下,Apache限速一般都是通过mod_limitipconn和bw_mod两个模块实现。
☞ mod_limitipconn
限制每IP的连接数
☞ mod_bandwidth
限制目录总的带宽使用
话不多说,开始安装:
➩ 首先安装bw_mod模块,官方网站: http://www.ivn.cl/apache/
我是用DSO安装的apache,所以也使用apxs来安装插件,指令如下:
# tar zxvf mod_bw-0.8.tgz
# cd mod_bw
# $APACHE_HOME/bin/apxs -i -a -c mod_bw.c
设置Apache的conf文件:
BandWidthModule
OnForceBandWidthModule On
BandWidth 211.67.64.0/255.255.255.0 100000 //211.67.64.0的用户带宽限制为100K
BandWidth all 10000 //其他用户带宽限制为10K
LargeFileLimit .avi 500 10000 //文件大小超过500K的avi文件限制为10K
// 定义错误码和错误页面
ErrorDocument 510 /errors/maxconexceeded.html
BandWidthError 510

➩ 接下来安装mod_limitipconn模块,官方网站:http://dominia.org/djao/limitipconn2.html
仍然使用DSO的方式来安装这个插件,命令如下:
# tar zxvf mod_limitipconn-0.22.tar.gz
# cd mod_limitipconn-0.22
修改Makefile文件,指定apxs和apachectl的位置
# make install
设置Apache的conf文件:
ExtendedStatus On
LoadModule limitipconn_module mod_limitipconn.so
# 可以将IP线程限制加到虚拟主机里面
<VirtualHost www.abc.cn>
ServerAdmin webmaster@abc.cn
DocumentRoot /data/webapp/abc
ServerName www.abc.cn
<IfModule mod_limitipconn.c>
<Location /bigfiles>//注意这里是虚拟主机根目录下的文件夹
MaxConnPerIP 5
# 在此目录中,除了image文件之外每IP最多保持5个连接
NoIPLimit image/*
MaxConnPerIP 1
</Location>
<Location /mp3>
MaxConnPerIP 1
# 在此目录中,对于audio音频文件每IP最多保持1个连接
OnlyIPLimit audio/mpeg video
</Location>
</IfModule>
</VirtualHost>

重启Apache,完成限速。

(转)Linux下Apache 限速模块安装笔记的更多相关文章

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

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

  2. (转)Linux下apache限速和限制同一IP连接数的实现

    单位有一台DELL的服务器,4核双CPU,4G内存,1TB的存储空间,闲来无事,申请了域名http://www.zxzy123.cn,做了个网站,本以为用这样的配置做个下载站是绰绰有余了,没想到上线没 ...

  3. Linux下apache activemq的安装与配置

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范 的 JMS Provider实现,尽管JMS规范出台已经是很 ...

  4. 最简单的Linux下apache+mysql+php安装

    转载:http://www.jb51.net/article/29843.htm ubuntu下需要先更新系统后 流程笔记: 1.打开终端,输入“sudo apt-get install apache ...

  5. Linux下Oracle 11G XE 安装笔记

    操作系统 [oracle@RAC02 ~]$ lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:cor ...

  6. linux下apache服务器的安装、启动、查看

    一.apache的启动 apahce启动命令:/你的安装目录/apachectl start apaceh启动 apache停止命令/你的安装目录/apachectl stop   停止 apache ...

  7. Linux下python pip手动安装笔记

    今天查问题, 从redis集群中模糊查询某个key, 用一些重复的命令, 链接不同的node, redis-cli 去查, 感觉不舒服. 考虑写一些shell或py来简化一下. 一查环境, 安装了py ...

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

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

  9. linux下apache安装ssl步骤

    制作证书: 参考:linux下运用opensll制作ssl证书 生成三个证书 server.crt .server-ca.crt.server.key 安装openssl tar -xzvf open ...

随机推荐

  1. 公共Webservice

    网络上可供测试的Web Service腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService. ...

  2. spring03autowire属性

    1.创建需要的实体类 public class Student { //学生实体类 private String name; //姓名 private Integer age; //年龄 privat ...

  3. 【转】Multithreaded Python Tutorial with the “Threadworms” Demo

    The code for this tutorial can be downloaded here: threadworms.py or from GitHub. This code works wi ...

  4. Debugging Failed Because Integrated Windows Authentication Is Not Enabled

    To enable integrated Windows authentication Log onto the Web server using an administrator account. ...

  5. linux下软件安装与卸载

    linux上软件二进制安装主要分为:rpm手动安装和yum在线安装(其所安装的都为rpm二进制包). 关于rpm手动安装,学习后面内容前需分清如下内容: 包全名 : 操作的包是没有安装的软件包时,使用 ...

  6. 安卓手机内外SD卡互换

    相信有許多人....有內置sd太小...外置sd(sdcard2或extsd)卻只能放資料.... 一些遊戲或者是影音播放軟體....根本不會去讀外置sd(sdcard2或extsd)..... 記憶 ...

  7. Jason 分享吴霁虹教授的产品模型

    产品的出现都是为了解决市场上存在的某一个”疼点“或一系列的”疼点“而出现. 疼点:是一个亟需待解决的问题,对应有相应的市场,会寻找相应的解决方案.比如:用户的小孩——>因为缺钱,所以担心小孩无法 ...

  8. C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结

    我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是 ...

  9. 武汉科技大学ACM:1010: 零起点学算法89——母牛的故事

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  10. myeclipse插件安装

    MyEclipse插件安装 安装1: HELP->MuEclipse Configuration Center.切换到SoftWare选项卡. 点击 add site 打开对话框,在对话框中na ...