Bagaimana menghindari memulai kembali proxy Apache ketika Anda me-restart CouchDB

12

Saya menjalankan instance CouchDB localhost menggunakan CouchDBX di Mac saya, diproksi di belakang Apache 2 menggunakan ProxyPassdirektif:

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

Jika saya mencoba untuk memukul contoh Sofa saya http://playlick/datasaat itu tidak berjalan saya mendapatkan 503 Layanan Sementara Tidak Tersedia kesalahan, seperti yang diharapkan.

Saya kemudian memulai server Couch dan menekan URL yang sama, tetapi saya masih mendapatkan kesalahan sampai saya me-restart proxy Apache.

Jika di sisi lain, saya memulai instance Couch sebelum mengenai URL itu, semuanya berfungsi dengan baik tanpa harus menyentuh Apache.

Jadi sepertinya seolah-olah kesalahan 503 di-cache sampai proses Apache dimulai kembali. Bagaimana saya menghentikan ini terjadi?

ATAU , jika itu tidak mungkin, bagaimana cara memaksa Apache untuk memulai kembali ketika saya memulai instance Couch di aplikasi CouchDBX GUI?

James Wheare
sumber
Bagaimana di dunia Anda pernah mendapatkan / data untuk bekerja dengan baik. Saya mencoba dan selalu mendapatkan "File tidak ada: [DocumentRoot] / _ all_dbs, referer: localhost / data / _utils / index.html ". Sepertinya ada masalah di jquery.couch.js karena merujuk pada "/ _all_dbs" dan menghapus "/" memang membuat kesalahan di atas tampak relatif terhadap _utils tetapi apakah ini benar-benar bug atau ada sesuatu yang saya miliki untuk mengkonfigurasi?
nicerobot

Jawaban:

15

Saya percaya apa yang perlu Anda perhatikan adalah opsi coba lagi yang dapat Anda lewati dengan petunjuk ProxyPass .

coba lagi default: 60 detik

Pekerja koneksi koneksi coba lagi timeout dalam hitungan detik. Jika pekerja kumpulan koneksi ke server backend dalam status kesalahan, Apache tidak akan meneruskan permintaan ke server itu sampai batas waktu habis. Ini memungkinkan untuk mematikan server backend untuk pemeliharaan, dan membawanya kembali online nanti. Nilai 0 berarti selalu coba lagi pekerja dalam kondisi kesalahan tanpa batas waktu.

Sakit kepala
sumber
4
Sempurna. Ini melakukannya: ProxyPass / data localhost: 5984 coba lagi = 0
James Wheare
1
Juga memperbaiki masalah yang sama untuk apache node.js passthrough.
Will Shaver