Как перенести сайт на VPS без простоя

Миграция сайта — один из самых ответственных технических процессов. Даже несколько минут недоступности могут обернуться потерей клиентов, просадкой позиций в поиске и негативными последствиями для репутации. Хорошая новость: при грамотном подходе перенести сайт на новый VPS-сервер можно полностью без простоя. В этой статье разберём весь путь — от заказа сервера до финального переключения трафика.
Шаг 1. Заказываем новый VPS-сервер
Прежде чем что-либо копировать, нужен готовый сервер назначения. В панели NodexGo нажмите кнопку «Создать сервер». Вам предложат выбрать локацию — рядом с каждой отображается реальный пинг от вашего местоположения, что помогает выбрать точку с минимальной задержкой для вашей аудитории. Затем выберите тариф, соответствующий нагрузке сайта, и образ операционной системы — для большинства веб-проектов рекомендуем Ubuntu 24.04.
Задайте имя сервера, чтобы не путать его с другими машинами в панели. Выберите период оплаты — доступны варианты на 1, 3, 6 или 12 месяцев — и подтвердите заказ. Примерно через минуту сервер будет готов: IP-адрес и пароль root появятся в панели и придут на почту. Подключитесь по SSH, чтобы убедиться, что доступ работает.
ssh root@IP-адрес-сервераСоздайте сервер для миграции за одну минуту
Создать серверШаг 2. Снижаем TTL DNS заранее
Это действие нужно выполнить за 24–48 часов до переноса — пока сайт ещё работает на старом хостинге. Зайдите в DNS-настройки вашего домена и уменьшите значение TTL для A-записи до 300 секунд (5 минут). Когда придёт время переключать DNS на новый IP, обновление распространится по всему миру именно за это время, а не за стандартные 24 часа. Не забудьте восстановить TTL до нормального значения (3600 или выше) уже после завершения миграции.
Шаг 3. Разворачиваем окружение на новом сервере
Пока сайт работает на старом хостинге, настройте новый VPS полностью: установите веб-сервер, PHP нужной версии, базу данных и все необходимые расширения. Важно добиться полного соответствия версий программного обеспечения — расхождение в версии PHP или MySQL может привести к скрытым ошибкам уже после переключения. Обновите систему и установите необходимые пакеты.
apt update && apt upgrade -y
apt install -y nginx php8.3-fpm php8.3-mysql mysql-serverПосле установки настройте виртуальный хост для вашего домена в Nginx или Apache точно так же, как он был настроен на старом сервере. Проверьте конфигурацию на синтаксические ошибки и убедитесь, что веб-сервер запускается корректно.
nginx -t
systemctl restart nginxШаг 4. Копируем файлы и базу данных
Перенесите файлы сайта на новый сервер с помощью rsync — он передаёт только изменённые файлы и работает быстрее обычного scp при большом объёме данных. Запустите первоначальную синхронизацию заблаговременно, а непосредственно перед переключением DNS выполните её повторно, чтобы подтянуть свежие изменения.
rsync -avz --delete /var/www/html/ root@IP-нового-сервера:/var/www/html/Для базы данных сделайте дамп на старом сервере и импортируйте его на новом. Если база активно пишется, используйте флаг --single-transaction для MySQL — он снимет снимок без блокировки таблиц и без влияния на работу сайта.
mysqldump --single-transaction -u root -p имя_базы > backup.sql
mysql -u root -p имя_базы < backup.sqlШаг 5. Проверяем сайт через hosts до переключения DNS
Прежде чем менять DNS, убедитесь, что сайт на новом сервере работает корректно. Для этого временно пропишите в файл hosts на вашем компьютере соответствие домена новому IP-адресу. Так ваш браузер будет открывать сайт с нового сервера, тогда как для всех остальных пользователей он по-прежнему будет отдаваться со старого.
# На Windows: C:\Windows\System32\drivers\etc\hosts
# На Linux/macOS: /etc/hosts
# Добавьте строку:
1.2.3.4 yourdomain.com www.yourdomain.comОткройте сайт в браузере, пройдитесь по ключевым страницам, проверьте формы, авторизацию, работу корзины и любую другую критичную функциональность. Убедитесь, что SSL-сертификат получен и HTTPS работает. Только после успешной проверки переходите к следующему шагу.
Шаг 6. Переключаем DNS и финальная синхронизация
Настал момент переключения. Выполните финальный rsync файлов и свежий дамп базы данных, чтобы перенести последние изменения. Затем обновите A-запись домена в DNS, указав IP нового сервера. Благодаря сниженному TTL обновление распространится за несколько минут. В этот короткий промежуток часть пользователей попадёт на старый сервер, часть — на новый, но оба сервера работают и отдают актуальный контент.
Следите за логами на новом сервере в режиме реального времени — это позволит мгновенно заметить любые ошибки. Если что-то пошло не так, у вас есть возможность вернуть DNS обратно, пока TTL ещё низкий. Старый сервер не отключайте ещё как минимум 24–48 часов после переключения — на случай отката.
tail -f /var/log/nginx/error.logПолезные инструменты панели NodexGo на случай проблем
Если в процессе настройки нового сервера вы случайно заблокировали себе SSH — например, ошиблись в правилах файрвола — воспользуйтесь web-консолью VNC прямо в карточке сервера в панели NodexGo. Она работает независимо от сетевых настроек и даёт полный доступ к машине. Там же доступны кнопки «Сменить пароль root» и «Переустановить ОС», если потребуется начать с чистого листа. После успешной миграции, когда нагрузка на новом сервере станет понятна, можно воспользоваться кнопкой «Увеличить мощности» — она переводит сервер на старший тариф с сохранением диска и IP-адреса, без переустановки.
Заключение
Миграция без простоя — это не магия, а чёткая последовательность действий: снизить TTL заранее, подготовить новый сервер параллельно с работой старого, проверить всё через hosts и только потом переключить DNS. При таком подходе пользователи не заметят никаких изменений. Если вы ищете надёжную площадку для нового сервера, арендуйте VPS у NodexGo — быстрый запуск, удобная панель управления и все инструменты для комфортной работы уже включены.
Перенесите сайт на надёжный VPS без простоя
Создать сервер