Я собираюсь перенести сайт с одного сервера на другой. На сайте имеется неплохой объем операций чтения / записи транзакций в реальном времени в серверную базу данных.
Я считаю, что мне следует уменьшить TTL в DNS в домене, чтобы, как только я буду готов переключиться, все, что мне нужно сделать, это обновить серверы имен, назначенные для имени домена, и трафик начнет перемещаться на новый сервер.
Если я правильно понимаю процесс, что мне следует установить для TTL на моем текущем сервере?
Нужно ли мне также устанавливать значения «обновить», «повторить» и «истечь» на моем старом сервере? Если да, то что их тоже нужно установить?
Спасибо
ЗДЕСЬ МОЙ ПРОЦЕСС
www.blah.com размещен у хостинг-провайдера "hoster".
www.blah.com имеет свою запись ns1 как ns1.myFirstNameServer.net и свою запись ns2 как ns2.myFirstNameServer.net
Я настраиваю новый сервер имен с записями ns как ns1.aNewNameServerIdecidedToBuy.net и ns2.aNewNameServerIdecidedToBuy.net - его IP-адреса указывают на мой текущий сервер в текущем «хосте»
Оба моих домена сервера имен (myFirstNameServer.net и aNewNameServerIdecidedToBuy.net) настроены и находятся у моего регистратора в их настройке DNS - его IP-адреса указывают на мой новый сервер в новом «хосте»
Когда я буду готов к переключению, я войду в систему своего регистратора и изменю настройки сервера имен на www.blah.com следующим образом:
ns1.myFirstNameServer.net
к ns1.aNewNameServerIdecidedToBuy.net
ns2.myFirstNameServer.net
к ns2.aNewNameServerIdecidedToBuy.net
Чтобы упростить задачу и делать что-то одно за раз, вам не следует изменять записи NS своего домена во время этой миграции. Если вы хотите перенести веб-сайт и также Перенести авторитетный DNS-сервер можно в два отдельных шага. Чтобы перенести веб-сайт, измените только записи A и AAAA.
Обычное "низкое значение" TTL для записей A и AAAA составляет 300 (5 минут).
Если вы можете управлять обоими серверами одновременно в течение короткого периода времени, вы можете добиться даже большего, чем миграция на основе DNS. Вы можете настроить старый сервер на прокси-запросы к новому серверу, чтобы клиенты, которые все еще связываются со старым сервером, перенаправляли свои запросы на новый сервер. Этого легко достичь с помощью Apache с ProxyPass
.
Позже, если вы захотите переместить DNS-хостинг, измените записи NS и измените делегирование в родительской зоне (т.е. внесите изменения у регистратора вашего домена). Идеально, если вы можете заранее развернуть зону на новых серверах и оставить оба набора серверов имен, обслуживающих домен в течение определенного периода времени.
РЕДАКТИРОВАТЬ: Подробности о ProxyPass
Этот фрагмент конфигурации Apache, помещенный в <VirtualHost>
раздел для вашего сервера, или прямо в конфигурации сервера, если нет <VirtualHost>
, позволит старому серверу перенаправлять все запросы на новый сервер:
<Location />
ProxyPass http://www.example.org/
</Location>
Обычно вы должны иметь ProxyPassReverse
с участием ProxyPass
но в этом случае его можно опустить, так как он не будет иметь никакого эффекта, потому что старый и новый сайт идентичны ServerName
.
Вероятно, вы захотите удалить любые другие <Location>
, Alias
, RewriteRule
, или другие директивы сопоставления URL-адресов из старой конфигурации сервера одновременно, чтобы убедиться, что правило прокси и только правило прокси обрабатываются. (Конечно, держите резервную копию на тот случай, если вам понадобится отказаться от миграции!)
Убедитесь, что старый сервер знает правильный новый IP-адрес домена веб-сайта, в противном случае он отправит запрос обратно самому себе!