Як уникнути перезавантаження проксі-сервера Apache при перезапуску CouchDB


12

Я запускаю екземпляр localhost CouchDB, використовуючи CouchDBX на своєму Mac, проксі для Apache 2 за допомогою ProxyPassдирективи:

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

Якщо я спробую натиснути на свій екземпляр Couch, http://playlick/dataпоки він не працює, я отримаю помилку 503, яка тимчасово недоступна , як і слід було очікувати.

Потім я запускаю сервер Couch і натискаю ту саму URL-адресу, але все одно отримую помилку, поки не перезавантажую проксі-сервер Apache.

Якщо з іншого боку, я запускаю екземпляр Couch, перш ніж потрапляти на цю URL-адресу, все працює добре, не торкаючись Apache.

Отже, здається, що помилка 503 кешується до запуску процесу Apache. Як я не можу це зробити?

АБО якщо це неможливо, як змусити Apache перезапуститись, коли я запускаю екземпляр Couch у додатку GUI CouchDBX?


Як у світі ви коли-небудь отримували / дані працювали належним чином. Я намагаюся завжди отримувати "Файл не існує: [DocumentRoot] / _ all_dbs, referer: localhost / data / _utils / index.html ". Схоже, що у jquery.couch.js є проблеми, оскільки вони посилаються на "/ _all_dbs", і видалення "/" робить помилку вище вказаною щодо _utils, але це справді помилка чи є щось інше, що у мене є налаштувати?
nicerobot

Відповіді:


15

Я вважаю, що вам потрібно дивитись, це варіант повторного спроби, який ви можете передати за допомогою директиви ProxyPass .

спроба за замовчуванням: 60 секунд

Час очікування працівника пулу підключення повторюється за секунди. Якщо працівник пулу підключення до сервера резервного сервера знаходиться в стані помилок, Apache не пересилатиме жодних запитів на цей сервер, поки не закінчиться час очікування. Це дає змогу вимкнути сервер резервного сервера для обслуговування та повернути його в Інтернет пізніше. Значення 0 означає, що завжди намагайтеся повторити спробу працівників у стані помилок без відключення часу.


4
Ідеально. Це зробило це: ProxyPass / data localhost: 5984 retry = 0
James Wheare

1
Також виправлено ту саму проблему для node.js apache passthrough.
Буде Шавер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.