首页 > 代码库 > Apache作为负载均衡器的一个配置问题导致的无法启动

Apache作为负载均衡器的一个配置问题导致的无法启动

日前,使用apache作为某集群的负载均衡器,按照相关的配置,在调整了相关内容后,对apache的httpd.conf文件进行调整。加入以下内容:

<VirtualHost *:80>
ProxyRequests off
ProxyPass / balancer://lfCluster/ stickysession=JSESSIONID nofailover=off
<Proxy balancer://lfCluster>
BalancerMember http://172.18.2.80:6888 loadfactor=1 route=proxyserver1 
BalancerMember http://172.18.2.63:6888 loadfactor=1 route=proxyserver1 
</Proxy>
</VirtualHost>
在加入上如内容后,本来正常的apache无法启动了!

查看apache的后端日志error.log,发现有以下内容:

[Tue Dec 09 10:34:51 2014] [notice] Parent: Received restart signal -- Restarting the server.
Syntax error on line 499 of C:/Apache2.2/conf/httpd.conf:
BalancerMember can not have a balancer name when defined in a location
[Tue Dec 09 10:34:51 2014] [notice] Child 3432: Exit event signaled. Child process is ending.
[Tue Dec 09 10:34:51 2014] [warn] (OS 995)由于线程退出或应用程序请求,已中止 I/O 操作。  : winnt_accept: Asynchronous AcceptEx failed.

看起来是刚增加的这些配置的问题,发生问题的499行,即是:

BalancerMember http://172.18.2.80:6888 loadfactor=1 route=proxyserver1 
而异常内容是:BalancerMember can not have a balancer name when defined in a location。仔细看了下,并google一下,确认可能是某些地方的字符不准确造成的。

于是排场本行内容,发现最后对了一个空格!

去掉空格,保存,重启apache。

OK!

Apache作为负载均衡器的一个配置问题导致的无法启动