Страница автоматического обслуживания сервера Apache

StackOverflow https://stackoverflow.com/questions/98106

  •  01-07-2019
  •  | 
  •  

Вопрос

У меня есть веб-сайт, работающий на стеке Linux/Apache/Tomcat, который каждые несколько месяцев необходимо автоматически отключать от сети для обслуживания сервера, которое будет длиться произвольное количество времени.Каковы варианты заставить Apache создавать и удалять страницу «обслуживания сервера»?

Мне нужно иметь возможность контролировать это с помощью сценария оболочки.(Ответы, предоставленные Google, касаются ручного редактирования конфигурации сервера, и я не хочу быть в офисе в 3 часа ночи!) Полагаю, я мог бы добавить сценарий в файл .htaccess и удалить его, когда он будет готов, но это кажется менее чем изящным.


Комментарий к ответу:

Ответ Майка похоже на лучший ответ, хотя то, что я сделаю, вероятно, больше похоже на Ответ Дэна потому что сторонний хостинг-провайдер контролирует балансировщик нагрузки, и я не хочу иметь дело с этим беспорядком.Спасибо!

Это было полезно?

Решение

У нас есть установка, которая делает именно это, но она включает в себя нечто большее, чем просто Apache.За ним стоит балансировщик нагрузки и два сервера.Оба веб-сервера обслуживают веб-сайт с использованием Apache, а один из них имеет дополнительный виртуальный хост, который обслуживает простую страницу обслуживания HTML.Балансировщик нагрузки имеет виртуальный HTTP-сервис, который перенаправляет запросы на реальные серверы.Этот виртуальный сервис имеет три реальных сервера:два — это настоящие серверы, а третий — виртуальный IP-адрес на втором сервере, который указывает на страницу обслуживания.Реальные серверы взвешиваются, причем третий имеет наименьший возможный вес, а балансировщик нагрузки использует фиксированный алгоритм взвешивания.Поэтому, когда реальные веб-сайты по какой-либо причине отключаются от сети, все запросы передаются на хост обслуживания, и пользователи видят красивую страницу ошибки с номером телефона.На самом деле я использую небольшой скрипт для проверки работоспособности реальных серверов, поэтому страница обслуживания отображается, как только появляются какие-либо признаки неисправности.

ПС.Я использую Load Master 1500 для балансировки нагрузки.

Другие советы

Запустить Apache с помощью специального файла конфигурации довольно легко.В моей системе:

httpd -f <config>

Я регулярно использую это в сочетании со сценарием оболочки и чрезвычайно простой конфигурацией в качестве заполнителя для обслуживания.Скрипт просто останавливает мой обычный Apache и запускает этот.

создайте 2 файла конфигурации и поменяйте их местами туда и обратно

Если изменится лишь небольшая часть файла, объедините их с помощью своего рода препроцессора и сгенерируйте как стандартную, так и «автономную» версии из одного источника и замените их.

IIRC файлы конфигурации Apache в любом случае создаются с использованием CPP

Мы сделали нечто подобное.У нас есть index.html, который перенаправляет на главную страницу нашего сайта.Во время обслуживания мы запускаем скрипт, который меняет перенаправление в html-файле.Затем мы запускаем скрипт в cron и открываем окно автоматического обслуживания viola.

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top