收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
积木学院 > 电脑技术 > 软件技术 > 正文

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

来源:互联摘选 日期:2008-12-29 10:46
使用mod_limitipconn.c来限制apache的并发数 下载mod_limitipconn.c


http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
http://dominia.org/djao/limit/mod_limitipconn-0.04-1.i386.rpm
(proxy client detection feature not enabled) 
http://dominia.org/djao/limit/mod_limitipconn-0.04-1.src.rpm


 
我用的是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 此外必须将apache的ExtendedStatus设置为ON.在httpd.conf找到


# ExtendedStatus On



去掉前面的注释即可

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

(出处:www.Gimoo.net)

推荐阅读

 

热点信息

 
强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号