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



来自http://www.allabc.com
论坛:http://seecee.dev-c.nl/forumdisplay.php?fid=4

下载模块:

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

希望对大家有用!! (出处:http://www.allabc.com)
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3