Como evitar a reinicialização do proxy Apache ao reiniciar o CouchDB

12

Estou executando uma instância localhost do CouchDB usando o CouchDBX no meu Mac, proxy por trás do Apache 2 usando a ProxyPassdiretiva:

<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>

Se eu tentar acessar minha instância do Couch http://playlick/dataenquanto ela não estiver em execução , recebo um erro 503 Serviço temporariamente indisponível , como seria de esperar.

Em seguida, inicio o servidor do Couch e bato na mesma URL, mas ainda recebo o erro até reiniciar o proxy Apache.

Se, por outro lado, inicio a instância do Couch antes de acessar esse URL, tudo funciona bem sem precisar tocar no Apache.

Portanto, parece que o erro 503 é armazenado em cache até que o processo Apache seja reiniciado. Como faço para impedir que isso aconteça?

OU , se isso não for possível, como forço o Apache a reiniciar quando inicio a instância do Couch no aplicativo GUI do CouchDBX?

James Wheare
fonte
Como você conseguiu que os dados funcionassem corretamente? Eu tento obter sempre "O arquivo não existe: [DocumentRoot] / _ all_dbs, referenciador: localhost / data / _utils / index.html ". Parece que há problemas no jquery.couch.js porque eles se referem a "/ _all_dbs" e a remoção de "/" faz com que o erro acima apareça como relativo a _utils, mas isso é realmente um bug ou há outra coisa que eu tenho para configurar?
Nicerobot 17/09/09

Respostas:

15

Acredito que o que você precisa observar é a opção de repetição que você pode passar com a diretiva ProxyPass .

Repetir o padrão: 60 segundos

O trabalhador do conjunto de conexões tenta novamente o tempo limite em segundos. Se o trabalhador do conjunto de conexões com o servidor back-end estiver no estado de erro, o Apache não encaminhará nenhuma solicitação para esse servidor até o tempo limite expirar. Isso permite desligar o servidor back-end para manutenção e colocá-lo novamente online mais tarde. Um valor 0 significa sempre tentar novamente os trabalhadores em um estado de erro sem tempo limite.

Zoredache
fonte
4
Perfeito. Isso fez isso: ProxyPass dados / localhost: 5984 repetição = 0
James Wheare
1
Também foi corrigido o mesmo problema para a passagem do apache node.js.
que você precisa