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

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

本文介绍通过mod_limitipconn模块来限制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就可以生效了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航