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

六月 24, 2019 | views
Comments 0

下载模块:

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

希望对大家有用!!



zend