допустим, у нас есть следующая картина:
HTTP-сервер Apache обслуживает запросы пользователей. Он пересылает все (или часть) запросы на сервер Tomcat с помощью mod_jk.
Допустим, мы хотим закрыть наше приложение на Tomcat на два часа для обслуживания. И мы хотим, чтобы все пользователи, которые обращаются к приложению, получали сообщение об обслуживании (например: извините, мы обслуживаем наши серверы. Приложение снова будет в сети в 6 утра).
Есть ли способ перевести эту страницу обслуживания в оперативный режим без перезапуска HTTP-сервера Apache? (Сервер не может быть перезапущен, потому что он обслуживает другие приложения)
Спасибо
Настройте другой экземпляр Tomcat, который просто отображает страницу обслуживания. Запустите его вместо вашего приложения Tomcat.
Кстати, вы можете изящно перезапустить HTTP-сервер Apache, который перерабатывает каждый поток, обслуживающий запросы, после того, как каждый поток завершил свой текущий запрос, поэтому запросы не сбрасываются.
Просто настройте свой Apache так, чтобы он возвращал соответствующее сообщение: «Извините, мы выполняем некоторые волшебные действия по техническому обслуживанию с вуду. Мы скоро вернемся». страница с Apache ErrorDocument
директива. Никакого перезапуска не требуется - если серверный процесс не вернет какой-нибудь OK http-код, например 200, Apache вместо этого вернет страницу с ошибочным документом.
Без перезапуска Apache из-за простоя переднего сервера? Затем вы можете выполнить плавный перезапуск с помощью apachectl -k изящный с изменением конфигурации для обслуживания запросов со статической страницей обслуживания.
В противном случае, как было сказано ранее, у вас может быть вышестоящий сервер, который обрабатывает все запросы, возвращающие страницу обслуживания, и вы можете переключаться на основе DNS.