如何避免在重新启动CouchDB时重新启动Apache代理

我在我的Mac上使用CouchDBX运行本地主机CouchDB实例,使用ProxyPass指令在Apache 2后面进行代理

 <VirtualHost *:80> ServerName playlick # points to localhost in /etc/hosts DocumentRoot "/Users/james/Sites/playlick" ProxyPass /data http://localhost:5984 ProxyPassReverse /data http://localhost:5984 </VirtualHost> 

如果我试图在http://playlick/data Couch实例,但是它没有运行,我得到一个503 Service Temporarily Unavailable错误,就像我们预料的那样。

然后,我启动Couch服务器,并find相同的URL,但是我仍然得到错误,直到我重新启动Apache代理。

另一方面,如果在点击该URL 之前启动了Couch实例,则无需触及Apache即可正常工作。

所以看起来好像503错误被caching,直到Apache进程重新启动。 我如何阻止这种情况的发生?

或者 ,如果这是不可能的,当我在CouchDBX GUI应用程序中启动Couch实例时,如何强制Apache重新启动?

我相信你需要看的是你可以通过ProxyPass指令传递的重试选项。

重试默认值:60秒

连接池工作人员重试超时秒数。 如果连接池工作者到后端服务器处于错误状态,Apache将不会转发任何请求到该服务器,直到超时到期。 这可以closures后端服务器进行维护,并在稍后重新联机。 值为0意味着总是重试工作在错误状态,没有超时。