Свой кластер с балансировщиком для веб-сайта Nginx Apache PHP MySQL (Master-Master replication) incrontab+csync2

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

1. Nginx — в качестве front-end для веб сервера.
2. Apache2 — в качестве back-end для веб сервера.
3. Mysql — БД. Обе ноды настраиваеются в режиме master-master репликации, не забываем указать параметр разделяющий автоинкрементные поля по серверам, чтобы не было ошибок репликации.
4. PHP — без комментариев :)
5. csync2 — этим зверем синхронизируем директории веб приложения между нодами. Пример настойки
6. incrontab — запускает выполнение команд или скрипта по изменению в указанной директории. Тип изменения можно задавать.
Далее на Amazon создаем балансер, куда добавляем необходимые ноды.
И затем домену прописываем в качестве CNAME DNS-имя балансера.

В итоге получаем как минимум два хоста, на которых полностью идентичные веб сайты (с оговоркой на время реакции и сонхронизации). При выходе из строя одной из нод у вас ничего с сайтом не случится.
  • 0
  • 25 октября 2013, 12:56
  • admin

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Яндекс.Метрика