CouchDBの再起動時にApacheプロキシの再起動を回避する方法


12

MacでCouchDBXを使用してlocalhost 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、いながら動作していない私が得る503サービス一時的に利用できないことが予想されるとして、エラーが発生しました。

私は、ソファーサーバを起動し、同じURLを打つが、私はまだ、私はApacheのプロキシを再起動するまでエラーが発生します。

一方、そのURLにアクセスする前に Couchインスタンスを起動すると、Apacheに触れることなくすべてが正常に動作します。

そのため、Apacheプロセスが再起動されるまで、503エラーはキャッシュされているように見えます。これを防ぐにはどうすればよいですか?

または、それが不可能な場合、CouchDBX GUIアプリでCouchインスタンスを起動するときにApacheを強制的に再起動するにはどうすればよいですか?


どのようにして/ dataを適切に機能させることができましたか?私は常に「File does not exist:[DocumentRoot] / _ all_dbs、referer:localhost / data / _utils / index.html」を取得しようとします。「/ _all_dbs」を参照し、「/」を削除すると上記のエラーが_utilsに関連して表示されるため、jquery.couch.jsに問題があるように見えますが、これは本当にバグか、他に何かありますか設定するには?
nicerobot

回答:


15

確認する必要があるのは、ProxyPassディレクティブで渡すことができる再試行オプションだと思います。

再試行のデフォルト:60秒

接続プールワーカーの再試行タイムアウト(秒単位)。バックエンドサーバーへの接続プールワーカーがエラー状態の場合、Apacheはタイムアウトが期限切れになるまでそのサーバーにリクエストを転送しません。これにより、メンテナンスのためにバックエンドサーバーをシャットダウンし、後でオンラインに戻すことができます。値0は、タイムアウトなしで常にエラー状態のワーカーを再試行することを意味します。


4
パーフェクト。
ProxyPass

1
node.js Apacheパススルーの同じ問題も修正しました。
ウィルシェーバー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.