我们目前正在一个Zope实例上运行Plone 3.3.6,其中4个线程落后于Apache 2.2。我们有一些子站点都是从一个Plone站点管理的。
我目前正在测试一个新的设置,运行2个Zope实例,每个实例2个线程,并由Apache进行负载平衡。我们有一个工具可以检测我们的网站以检查错误,并报告了多个502代理错误。它在我们的实时网站上运行良好,通常也在我们的测试网站上。
正如预期的那样,我们在Apache访问日志中看到了502错误。
10.10.11.1 - - [04/Feb/2012:14:34:46 +0000] "GET /family-strengthening HTTP/1.1" 502 345 "-" "Mozilla"
我们还在Apache错误日志中获得了一个条目
[Sat Feb 04 14:34:46 2012] [error] [client 10.10.11.1] proxy: error reading status line from remote server dev:18082
[Sat Feb 04 14:34:46 2012] [error] [client 10.10.11.1] proxy: Error reading from remote server returned by /family-strengthening
有时,Zope访问日志显示200响应的请求,但服务为0字节
./instance2-Z2.log:10.10.11.4 - Anonymous [04/Feb/2012:14:34:47 +0100] "GET /VirtualHostBase/http/test.street-children.org.uk:80/sos/soschildrensvillages_org_uk/street-children_org_uk/VirtualHostRoot/family-strengthening HTTP/1.1" 200 0 "" "Mozilla"
其他时候请求不会显示在Zope访问日志中。
Zope实例日志中没有错误。
当我通过浏览器请求相同的页面时,我从未收到错误。再次运行我们的蜘蛛会导致相似数量的502错误,但对于不同的页面。
我认为我们网站的Apache配置非常标准:
ProxyPreserveHost On
<Proxy balancer://zopes>
BalancerMember http://dev:18081
BalancerMember http://dev:18082
</Proxy>
RewriteRule ^/(.*) balancer://zopes/VirtualHostBase/http/%{SERVER_NAME}:80/sos/soschildrensvillages_org_uk/%{ENV:SOS_PLONE_FOLDER_SHORTNAME}/VirtualHostRoot/$1 [last,proxy]
我不知道从哪里开始尝试调试这个,所以任何帮助都会非常感激。
答案 0 :(得分:1)
<强>更新强>
我想到我通过执行Apache停止然后Apache启动来解决这个问题
apachectl stop
apachectl start
一旦我切换到两个Zopes,测试系统上的问题就消失了。
我一直在优雅地重启Apache。每次我们优雅地重新启动时,我们的apache错误日志中都会出现以下错误
[Tue Feb 07 19:41:07 2012] [error] proxy: ap_get_scoreboard_lb(97) failed in child 411 for worker http://dev:18081
[Tue Feb 07 19:41:07 2012] [error] proxy: ap_get_scoreboard_lb(99) failed in child 411 for worker http://dev:18082
我读过这些是无害的但也许不是吗?停止/启动后,它们不再出现在正常重启