Как переехать от другого хостера без простоя
Миграция сервера пугает словом «простой»: кажется, что сайт неизбежно ляжет на сутки, пока обновляется DNS. На деле правильный порядок действий сводит даунтайм к нулю. Разбираем перенос по шагам — от бэкапа до переключения домена.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Главный принцип: сначала копия, потом переключение
Ошибка новичка — снести старый сервер и начать с чистого листа на новом, надеясь успеть за ночь. Правильно наоборот: новый сервер поднимается и настраивается параллельно, пока старый продолжает работать. Пользователи ничего не замечают. Домен переключается только когда копия на новом хостинге полностью проверена и отвечает.
Пока не тронут DNS, оба сервера живут одновременно. Это ваша страховка: если что-то пошло не так, вы просто не переключаете домен и спокойно чините копию.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для переезда сайтаШаг 1. Инвентаризация и бэкап
Перед переездом составьте список того, что вообще нужно перенести: файлы сайта, базы данных, конфиги веб-сервера, cron-задания, SSL-сертификаты, переменные окружения, письма (если есть почта). Что забыли — то отвалится после переключения.
Снимаем полный бэкап на старом сервере. Файлы:
tar czf /root/site-backup.tar.gz /var/www/mysite
Дамп базы MySQL/MariaDB:
mysqldump -u root -p --single-transaction --routines \
mydb > /root/mydb.sql
Для PostgreSQL аналогично через pg_dump.
pg_dump -U postgres mydb > /root/mydb.sql
Шаг 2. Готовим новый сервер и переносим данные
На новом VPS ставим тот же стек: веб-сервер, PHP/Node/Python нужной версии, СУБД. Затем переносим данные напрямую по SSH — rsync докачивает только изменённое и переживает обрыв связи.
rsync -avz -e ssh /var/www/mysite/ \
root@NEW_SERVER_IP:/var/www/mysite/
Заливаем и восстанавливаем дамп базы на новом сервере.
scp /root/mydb.sql root@NEW_SERVER_IP:/root/
mysql -u root -p mydb < /root/mydb.sql
Не забудьте перенести SSL: если используете Let's Encrypt, проще заново выпустить сертификат на новом сервере — но только после того, как он будет отвечать по домену (или через DNS-валидацию заранее).
При переезде из РФ-хостинга за рубеж удобно, что MAATRIX принимает оплату картой РФ, СБП, криптой и токеном MAAT — не придётся искать иностранную карту, чтобы поднять зарубежный сервер.
Шаг 3. Проверка до переключения DNS
Копия готова, но домен ещё смотрит на старый сервер. Проверяем новый по IP, не трогая DNS: временно прописываем соответствие в локальный /etc/hosts на своём компьютере.
NEW_SERVER_IP example.com www.example.com
Теперь в браузере example.com открывается с нового сервера только у вас. Прокликайте сайт, проверьте формы, авторизацию, загрузку файлов, работу с базой. Убедились, что всё работает — удаляем строчку из hosts.
Отдельно проверьте фоновые задачи: перенесите crontab (crontab -l на старом → crontab -e на новом) и переменные окружения приложения.
Шаг 4. Переключение DNS без простоя
За сутки до переезда заранее снизьте TTL A-записи домена до 300 секунд — тогда мир узнает о смене IP за 5 минут, а не за сутки. Это делается на старом (текущем) DNS.
В день переезда меняем A-запись на IP нового сервера. Пока DNS расходится по миру, часть пользователей ещё идёт на старый сервер, часть — на новый. Именно поэтому старый сервер не выключаем сразу: держим оба живыми 24–48 часов.
dig +short example.com # проверяем, куда резолвится сейчас
Чтобы за это переходное окно не потерять данные (заказы, регистрации), на старом сервере можно поставить БД в режим только-чтение или включить редирект на новый IP. Когда весь трафик пойдёт на новый сервер и логи старого опустеют — гасим старый хостинг.
Частые ошибки при переезде
- Выключили старый сервер сразу — часть пользователей по кэшу DNS ещё идёт на него и ловит ошибку.
- Забыли снизить TTL заранее — переключение растянулось на сутки.
- Не перенесли cron и .env — сайт открывается, но отвалились рассылки и оплаты.
- Разные версии PHP/СУБД — код работал на старом, падает на новом.
- Потеряли данные за переходное окно — заказы упали в базу старого сервера, который потом снесли.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для переезда сайтаОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Реально ли переехать вообще без простоя?
Да, если поднять новый сервер параллельно, проверить его до смены DNS и заранее снизить TTL. Пользователи переключаются постепенно и не видят ошибок.
Что делать с заказами, которые придут во время переключения DNS?
Держите старый сервер живым 24-48 часов и настройте синхронизацию или редирект. Так данные не потеряются, пока DNS расходится по провайдерам.
Нужно ли заново выпускать SSL-сертификат?
Да, самый надёжный путь — выпустить Let's Encrypt заново на новом сервере. Сделать это можно через DNS-валидацию ещё до переключения домена.