使用mod_limitipconn.c来限制apache的并发数

使用mod_limitipconn.c来限制apache的并发数


Linux技术中坚站2002-12-12


下载mod_limitipconn.c

我用的是tar包下载的是mod_limitipconn-0.04.tar.gz,(该模块已经可以支持apache2)在服务器上执行

# wget http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz 下载到本地

然后执行下面的命令编译安装.我的apache位于/usr/local/apache目录

解压缩:

[root@ns chenlf]# tar zxvf mod_limitipconn-0.04.tar.gz
mod_limitipconn-0.04/
mod_limitipconn-0.04/Makefile
mod_limitipconn-0.04/README
mod_limitipconn-0.04/apachesrc.diff
mod_limitipconn-0.04/mod_limitipconn.c
mod_limitipconn-0.04/ChangeLog

编译安装:


[root@ns chenlf]# cd mod_limitipconn-0.04
[root@ns mod_limitipconn-0.04]# ls
apachesrc.diff ChangeLog Makefile mod_limitipconn.c README
[root@ns mod_limitipconn-0.04]# /usr/local/apache/bin/apxs -c -i -a mod_limitipconn.c
gcc -DLINUX=22 -I/usr/include/db1 -fpic -DSHARED_MODULE -I/usr/local/apache/include -c mod_limitipconn.c
gcc -shared -o mod_limitipconn.so mod_limitipconn.o
[activating module `limitipconn' in /usr/local/apache/conf/httpd.conf]
cp mod_limitipconn.so /usr/local/apache/libexec/mod_limitipconn.so
chmod 755 /usr/local/apache/libexec/mod_limitipconn.so
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
cp /usr/local/apache/conf/httpd.conf.new /usr/local/apache/conf/httpd.conf
rm /usr/local/apache/conf/httpd.conf.new

修改配置文件:

1全局控制:

在httpd.conf加上以下几行:

<IfModule mod_limitipconn.c>
    <Location />               # 所有虚拟主机的/目录
        MaxConnPerIP 3
        # 每IP只允许3个并发连接
        NoIPLimit image/*      # 对图片不做IP限制
    </Location>

    <Location /mp3>            # 所有主机的/mp3目录
MaxConnPerIP 1         # 每IP只允许一个连接请求   
OnlyIPLimit audio/mpeg video # 该限制只对视频和音频格式的文件
    </Location>
</IfModule>

2 局部限制,你也可以在虚拟主机的配置文件里设置IP限制,方法是完全一样:

<VirtualHost xx.xxx.xx.xx>
ServerAdmin chenlf@chinalinuxpub.com
DocumentRoot /home/my
ServerName www.my.com
<IfModule mod_limitipconn.c>
    <Location />               # 所有虚拟主机的/目录
        MaxConnPerIP
5         # 每IP只允许3个并发连接
        NoIPLimit image/*      # 对图片不做IP限制
    </Location>
    <Location /mp3>            # 所有主机的/mp3目录
MaxConnPerIP 2         # 每IP只允许一个连接请求   
OnlyIPLimit audio/mpeg video # 该限制只对视频和音频格式的文件
    </Location>
</IfModule>
ErrorLog /home/my/logs/error_log
CustomLog /home/my/logs/access_log
common
</VirtualHost>

3 此外必须将apacheExtendedStatus设置为ON.在httpd.conf找到
#
ExtendedStatus On
去掉前面的注释即可

好了,全部配置结束,重起apache就可以生效了

                                                                                          

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值