来源(系统管理员社区)

From: http://sysop.com.cn/system594,1.html

在apache下限制每个虚拟主机的并发数

发表于 2005-07-22 作者:不详 出自 网络收集 点击: 79

下载模块:

http://www.nowhere-land.org/prog ... st_limit-0.4.tar.gz

官方网址: http://www.nowhere-land.org/programs/mod_vhost_limit/

安装:

apxs -c mod_vhost_limit.c -o /path/to/libexec/mod_vhost_limit.so

在 httpd.conf 加入:

LoadModule vhost_limit_module libexec/mod_vhost_limit.so
AddModule mod_vhost_limit.c

配置:

MaxClients 150
ExtendedStatus On

NameVirtualHost *

<VirtualHost *>
ServerName server1
DocumentRoot /some/where/1
MaxVhostClients 100
</VirtualHost>

<VirtualHost *>
ServerName server2
DocumentRoot /some/where/2
MaxVhostClients 30
</VirtualHost>

<VirtualHost *>
ServerName server3
DocumentRoot /some/where/3
</VirtualHost>

其中: server1 被限制为 100 个并发线程数。 server2 被限制为 30 个并发线程数。 server3 没有被限制。

注:需 mod_status 的 ExtendedStatus On 支持!!

如超出限制的并发数在客户端就会出现503错误:

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
--------------------------------------------------------------------------------

Apache/1.3.27 Server at server1 Port 80

在 error_log 中将会有类似以下的错误提示:

[Mon Jun 23 15:22:24 2003] [error] client access to server1 deferred, MaxVhostClients 100 exceeded

希望对大家有用!!

Link: http://www.asm32.net/article_details.aspx?id=1698