- В домене gfns.net ЗАРАНЕЕ cозданы технические адреса *.d2.gfns.net и *.k0.gfns.net. То есть ЛЮБОЙ домен с хвостом .d2.gfns.net резолвится в IP адрес сервера d2, и ЛЮБОЙ домен с хвостом .k0.gfns.net резолвится в IP адрес сервера k0
- На сервере 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
|
- На сервере 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 - и тем, у кого ДНС тормозит, будет показываться старый сервер как он есть, а у кого ДНС обновился - содержимое старого сервера после редиректа.
- База MySQL на старом сервере переводится в Read-Only во избежание дурацких ошибок после восстановления конфигурации на новом сервере.
- Делается дамп базы со старого сервера (или берётся адекватный бекап дампа)
- На сервере k0 заводится виртуальный хост, в котором основным именем прописывается evrazia.tv.k0.gfns.net и алиасом www.evrazia.tv.k0.gfns.net
- В этот новый виртуальный хост заливается контент сайта
- ОБЯЗАТЕЛЬНО исправляется конфигурация, чтобы обращение к MySQL шло к новому серверу, а не к старому.
- Создаётся база на новом сервере. Восстанавливается содержимое базы из дампа.
- Заходим на http://evrazia.tv.k0.gfns.net/ и убеждаемся в том, работает ли сайт на этом адресе. ЭТО - НОВАЯ копия.
- Переносим алиасы evrazia.tv и www.evrazia.tv из виртуального хоста redirect.evrazia.tv.k0.gfns.net в конфиг виртуального хоста evrazia.tv.k0.gfns.net
С этого момента тем, у кого ДНС обновился - показывается новая копия, тем, у кого ДНС тормозит - старая.
- Убираем у виртуального хоста на старом сервере алиасы 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/
С этого момента тем, у кого ДНС тормозит, показывается редирект на новый сервер.
- Анализом логов НА СТАРОМ СЕРВЕРЕ выясняем, где в коде и в базе наличествуют почему-либо ссылки на evrazia.tv.d2.gfns.net (в конкретном случае не только и не столько на него) и правим на новом сервере.
- Когда по логам виртуального хоста redirect.evrazia.tv.d2.gfns.net становится очевидно, что приходящих по старому IP стало статистически незначимое количество - МОЖНО снимать старый контент.
Уф. Александр Мирер, вторая часть "Дома скитальцев". Глава Пересадка с "болваном". :)