SQ: Как правильно переезжать с хостинга на хостинг

Постановка задачи.

  1. Под нашим контролем два домена - технический gfns.net и основной evrazia.tv.
  2. У нас есть аккаунты у двух хостеров, в которых мы можем создавать, удалять и редактировать до 2-х виртуальных хостов в пределах одного вебсервера каждый.
  3. У нас есть работающий сайт evrazia.tv с мысклевой базой на сервере d2.gfns.net. Обновление контента сравнительно редкое, можно считать статическим, главное - чтобы сайт отображался посетителям.
  4. надо перенести его на сервер, которому даден технический адрес k0.gfns.net (если это другой хостер, то ЛУЧШЕ, если это будет ЕГО технический адрес, созданный заранее до переезда).

Действия

  1. В домене gfns.net ЗАРАНЕЕ cозданы технические адреса *.d2.gfns.net и *.k0.gfns.net. То есть ЛЮБОЙ домен с хвостом .d2.gfns.net резолвится в IP адрес сервера d2, и ЛЮБОЙ домен с хвостом .k0.gfns.net резолвится в IP адрес сервера k0
  2. На сервере d2 в конфигурации вебсервера виртуальному хосту evrazia.tv добавляются алиасы evrazia.tv.d2.gfns.net и www.evrazia.tv.d2.gfns.net:
    БылоСтало

    ServerName evrazia.tv
    ServerAlias www.evrazia.tv
    ServerName evrazia.tv
    ServerAlias www.evrazia.tv
    ServerAlias evrazia.tv.d2.gfns.net www.evrazia.tv.d2.gfns.net
  3. На сервере k0 заводится виртуальный хост, в котором основным именем прописывается redirect.evrazia.tv.k0.gfns.net, алиасами - evrazia.tv и www.evrazia.tv:
    ServerName redirect.evrazia.tv.k0.gfns.net
    ServerAlias evrazia.tv www.evrazia.tv

    При этом единственный файл. лежащий в этом виртуальном хосте - .htaccess в котором прописано:
    redirect / http://evrazia.tv.d2.gfns.net/

    Проверяем. как работает редирект, зайдя броусером на http://redirect.evrazia.tv.k0.gfns.net/

    C этого момента МОЖНО сменить основной IP для записи A домена evrazia.tv - и тем, у кого ДНС тормозит, будет показываться старый сервер как он есть, а у кого ДНС обновился - содержимое старого сервера после редиректа.

  4. База MySQL на старом сервере переводится в Read-Only во избежание дурацких ошибок после восстановления конфигурации на новом сервере.
  5. Делается дамп базы со старого сервера (или берётся адекватный бекап дампа)
  6. На сервере k0 заводится виртуальный хост, в котором основным именем прописывается evrazia.tv.k0.gfns.net и алиасом www.evrazia.tv.k0.gfns.net
  7. В этот новый виртуальный хост заливается контент сайта
  8. ОБЯЗАТЕЛЬНО исправляется конфигурация, чтобы обращение к MySQL шло к новому серверу, а не к старому.
  9. Создаётся база на новом сервере. Восстанавливается содержимое базы из дампа.
  10. Заходим на http://evrazia.tv.k0.gfns.net/ и убеждаемся в том, работает ли сайт на этом адресе. ЭТО - НОВАЯ копия.
  11. Переносим алиасы evrazia.tv и www.evrazia.tv из виртуального хоста redirect.evrazia.tv.k0.gfns.net в конфиг виртуального хоста evrazia.tv.k0.gfns.net

    С этого момента тем, у кого ДНС обновился - показывается новая копия, тем, у кого ДНС тормозит - старая.

  12. Убираем у виртуального хоста на старом сервере алиасы evrazia.tv и www.evrazia.tv и оставляем ему единственно технический адрес evrazia.tv.d2.gfns.net как основной. Создаём на старом сервере виртуальный хост с основным именем redirect.evrazia.tv.d2.gfns.net и алиасами evrazia.tv и www.evrazia.tv.

    Проверяем работу редиректа, зайдя на http://redirect.evrazia.tv.d2.gfns.net/

    С этого момента тем, у кого ДНС тормозит, показывается редирект на новый сервер.

  13. Анализом логов НА СТАРОМ СЕРВЕРЕ выясняем, где в коде и в базе наличествуют почему-либо ссылки на evrazia.tv.d2.gfns.net (в конкретном случае не только и не столько на него) и правим на новом сервере.
  14. Когда по логам виртуального хоста redirect.evrazia.tv.d2.gfns.net становится очевидно, что приходящих по старому IP стало статистически незначимое количество - МОЖНО снимать старый контент.
Уф. Александр Мирер, вторая часть "Дома скитальцев". Глава Пересадка с "болваном". :)

© Sergej Qkowlew 2011
Я, владелец авторских прав на приведённые здесь работы, добровольно передаю их в общественное достояние.
Если для кого-либо это юридически невозможно, я разрешаю всем использовать эти работы в любых целях без каких бы то ни было условий, за исключением случаев, предусмотренных законодательством.


[ hosted by GFNS | IT Resources | Battle Abyss Online | Strelvas | Service Realty | New Pencioner | Hemuli | Demchenko | RAUG ]