Какой был бы наиболее эффективный способ отправлять обновления на сервер Apache без выключения?

#php #apache #updates

#php #apache #Обновления

Вопрос:

Какой был бы наиболее эффективный способ отправлять обновления на сервер Apache без «выключения» (он же перенаправление всех на страницу обслуживания) на простом LAMP сервере.

Одна из идей, которая у меня возникла, — использовать .htaccess который перенаправляет все запросы на один PHP скрипт, который просто ждет, пока они смогут ответить на запросы, но все соединения останутся активными в течение этого времени. Я не знаю, сколько последовательных подключений может обработать этот сервер.

Какие-нибудь советы?

Спасибо

Комментарии:

1. Я думал, php header, но это сработает только для страниц, на которые вы его разместили. Я также хотел бы знать хорошее решение 😉

2. Не совсем уверен, о чем вы спрашиваете. Вы хотите отправлять обновления скриптов php и перенаправлять всех пользователей на страницу обслуживания во время выполнения этих обновлений? А затем автоматически перенаправлять снова, когда обслуживание завершено?

3. @Mel, на самом деле я хотел бы отправлять обновления на сервер с очень небольшим количеством времени простоя, или вообще без него. Кроме того, я хотел бы найти решение для пользователей, которые фактически используют сайт.

Ответ №1:

Если вам действительно нужно сделать это без простоев — создайте высокодоступную схему, содержащую по крайней мере 2 копии каждого имеющегося у вас ресурса (веб-сервер, сервер БД и т.д.).

Поэтому, когда вам нужно обновить все — просто отсоедините один вебсервер и один сервер базы данных от вашего балансировщика нагрузки и обновите их. После того, как вы это сделаете — подключите их обратно и повторите те же действия с серверами, которые еще не были обновлены.

Комментарии:

1. Это хорошее решение. Но как насчет файлов сеанса или баз данных, которые постоянно обновляются пользователями онлайн? Очень сложно синхронизировать базу данных и поддерживать их синхронизацию, пока я обновляю коды.

2. @Cybrix: да, вам нужно написать свое программное обеспечение и настроить все серверы так, чтобы они могли быть взаимозаменяемыми.