Быстрый старт VPS Обновлено 8 Linux, VPS

Перенос сайта с хостинга на VPS: чек-лист

Как перенести сайт с общего хостинга на VPS без потери данных и длительного простоя? Пошаговый чек-лист: от резервного копирования до переключения DNS.

перенос сайтаVPSхостингмиграциячек-листDNS
Содержание
КороткоПеренос сайта на VPS требует четкого плана: создайте полный бэкап, перенесите файлы и базу данных, настройте веб-сервер, обновите DNS и проверьте работоспособность, прежде чем удалять данные со старого хостинга.

Переход с общего хостинга на VPS (виртуальный выделенный сервер) — это шаг к большей производительности, гибкости и контролю над своим проектом. Однако сам процесс миграции может показаться сложным, особенно если вы впервые сталкиваетесь с администрированием сервера. В этой статье мы составили подробный чек-лист, который поможет вам перенести сайт безопасно и с минимальным простоем.

Почему стоит переезжать на VPS

Общий хостинг — это просто и дешево, но он ограничивает ресурсы, не позволяет устанавливать собственное программное обеспечение и часто страдает от «соседей» по серверу. VPS даёт выделенные ресурсы, root-доступ и возможность тонкой настройки окружения. Особенно это актуально, если ваш сайт растёт, получает много трафика или требует специфических компонентов.

Подготовка к переносу

Прежде чем приступать к миграции, убедитесь, что вы выбрали подходящий тариф у VPS-провайдера. Обратите внимание на объём RAM, дисковое пространство, процессор и доступный трафик. Проверьте актуальные тарифы и характеристики на официальном сайте провайдера — они могут меняться.

После покупки VPS вы получите IP-адрес, root-пароль (или возможность настроить SSH-ключи) и доступ к панели управления. Сразу после первого входа рекомендуется:

  • Обновить системные пакеты: apt update && apt upgrade (для Debian/Ubuntu) или аналогично для других ОС;
  • Создать отдельного пользователя с правами sudo, а не работать под root;
  • Настроить систему для будущей роли: установить веб-сервер, СУБД и PHP в зависимости от вашего сайта.

Убедитесь, что на старой стороне у вас есть доступ к файлам сайта и к базе данных (обычно через phpMyAdmin или командную строку MySQL).

Резервное копирование данных на старом хостинге

Это критически важный шаг. Никогда не начинайте миграцию, не имея полной резервной копии. Вам понадобятся:

  • Файлы сайта: HTML, CSS, JS, PHP, изображения, скрипты.
  • База данных: все таблицы и данные.
  • Конфигурационные файлы: например, wp-config.php для WordPress или .env для Laravel.
  • Почтовые настройки, если сайт использует почтового клиента (например, MX-записи сверяйте позже).

Для создания архива в cPanel обычно есть встроенный инструмент «Backup» или «Резервные копии». Если у вас доступ по SSH, можно использовать tar:

tar -czf site-backup.tar.gz /path/to/website

Базу данных можно экспортировать через phpMyAdmin (формат SQL) или из командной строки:

mysqldump -u USERNAME -p DATABASE_NAME > database-backup.sql

Проверьте, что архив открывается и содержит все необходимые файлы. Скопируйте резервные копии к себе на локальную машину или в облачное хранилище, чтобы они не были доступны на старом хостинге во время переезда.

Перенос файлов и базы данных на VPS

Существует несколько способов передать данные на новый сервер. Самый надёжный и рекомендуемый — использовать Rsync через SSH, так как он позволяет синхронизировать файлы и сохранять права доступа.

  1. Настройте SSH-доступ: скопируйте ваш публичный SSH-ключ на VPS или используйте пароль root.
  2. Перенесите файлы: с локальной машины выполните команду, заменив пути на свои:
rsync -avz /path/to/local/site/ user@VPS_IP:/var/www/site/

Если сайт большой, процесс может занять время. Можно также использовать scp или FTP (но FTP менее безопасен).

Импортируйте базу данных. Скопируйте SQL-файл на VPS и импортируйте его:

scp database-backup.sql user@VPS_IP:/tmp/
ssh user@VPS_IP
mysql -u USERNAME -p DATABASE_NAME < /tmp/database-backup.sql

Не забудьте предварительно создать базу данных и пользователя на VPS с теми же правами, что были на хостинге.

Настройка веб-сервера и окружения на VPS

Чтобы сайт работал, нужно установить и настроить веб-сервер, интерпретатор PHP и сервер баз данных. Для WordPress подойдёт связка Nginx + PHP-fpm + MySQL (или MariaDB). Для других систем могут быть свои требования, например Node.js или Python.

Пример для Ubuntu/Debian:

  1. Установите Nginx: apt install nginx
  2. Установите PHP и расширения: apt install php-fpm php-mysql
  3. Настройте блок server в Nginx, указав корневую директорию и обработчик PHP:
server {
    listen 80;
    server_name example.com;
    root /var/www/site;
    index index.php index.html;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

Внесите изменения в конфигурационные файлы вашего приложения: укажите новые параметры подключения к базе данных и, если нужно, измените права на файлы (обычно chown -R www-data:www-data /var/www/site). Проверьте, что сайт открывается через IP-адрес сервера (добавьте временную запись в файл /etc/hosts на вашем компьютере, чтобы узнать).

Обновление DNS и переключение домена

Когда сайт полностью работает на VPS, пришло время переключить домен. Для этого измените A-запись и (если нужно) www-запись на IP-адрес вашего VPS. Записи обновляются у регистратора домена или в панели DNS-провайдера.

Помните, что DNS-записи распространяются не мгновенно — от 30 минут до 48 часов. Рекомендуется на время перехода уменьшить TTL до минимального значения (например, 300 секунд) заранее, чтобы ускорить обновление.

После изменения DNS подождите, пока сайт начнет открываться с нового сервера. Вы можете проверить, какой IP отдает ваш домен, с помощью сервисов типа dnschecker.org. Убедитесь, что SSL-сертификат (если был) перевыпущен для нового сервера, или воспользуйтесь Let’s Encrypt для автоматического получения.

Финальная проверка и удаление старого хостинга

После того как DNS обновился, проверьте всё критически важное:

  • Открывается ли главная страница и внутренние страницы.
  • Корректно ли работают формы, корзина (если интернет-магазин), платежные системы.
  • Загружаются ли изображения и стили.
  • Не выдаётся ли ошибок в логах веб-сервера и PHP.

Оставьте старый хостинг активным ещё на несколько дней (или хотя бы на сутки) после полного переключения. Это подстрахует вас, если вы найдёте забытые файлы или учётные записи. Также не забудьте обновить реквизиты для авторизации на старом хостинге или удалить данные с него, если он вам больше не нужен.

Чек-лист для переезда

Соберите всё в единый план, чтобы не упустить важное:

  • Выбор и настройка VPS (создание пользователя, обновление пакетов).
  • Полный бэкап файлов и БД на старой стороне.
  • Копирование файлов через rsync/scp и импорт базы данных на VPS.
  • Настройка веб-сервера, PHP и базы данных.
  • Адаптация конфигурационных файлов (wp-config, .env и т.д.) и проверка прав доступа.
  • Настройка SSL-сертификата на VPS (Let's Encrypt или другой).
  • Изменение TTL DNS заранее, затем переключение A-записи на IP VPS.
  • Проверка работы сайта по прямому IP и затем по домену.
  • Настройка бэкапов на VPS (например, через cron + rsync).

Следуя этому чек-листу, вы сможете провести миграцию с минимальным риском. Успешного переезда!

Мини-чеклист

  • Создать полную резервную копию файлов и базы данных на старом хостинге
  • Проверить доступность SSH на VPS и войти в систему
  • Установить и настроить веб-сервер (Nginx/Apache) на VPS
  • Установить PHP и необходимые расширения, настроить обработку PHP
  • Создать базу данных и пользователя на VPS с соответствующими правами
  • Перенести файлы сайта через rsync или scp
  • Импортировать базу данных из SQL-дампа
  • Обновить конфигурационные файлы приложения (wp-config.php и т.п.)
  • Настроить права на файлы и владельца для веб-сервера
  • Выдать SSL-сертификат на VPS (например, через certbot)
  • Снизить TTL DNS заранее и поменять A-запись на IP VPS
  • Проверить сайт по временному домену (через hosts-файл)
  • После обновления DNS проверить весь функционал сайта
  • Оставить старый хостинг активным на несколько дней, затем удалить данные со старого сервера
  • Настроить регулярные резервные копии на VPS

Частые ошибки

  • Забыть изменить права на файлы после переноса, что приводит к ошибкам 403 или 500
  • Не проверить версию PHP на VPS: сайт может не работать с более новой/старой версией
  • Пропустить изменение URL в базе данных (если домен или путь изменился), что вызывает битые ссылки
  • Не настроить брандмауэр (UFW, iptables) на VPS, оставляя сервер открытым для атак
  • Преждевременно отменять старый хостинг, не убедившись в полноценной работе сайта на новом сервере
  • Не обновить конфигурацию sendmail или SMTP, из-за чего перестаёт работать почта с сайта

Источники и документация

FAQ

Какой минимальный объем ресурсов VPS нужен для переноса типичного сайта?

Для небольшого сайта на WordPress достаточно VPS с 1 GB RAM и 20-30 GB диска. Но окончательные требования зависят от посещаемости, сложности приложений и использования баз данных. Рекомендуется всегда брать небольшой запас по памяти и CPU. Уточняйте актуальные характеристики и цены на сайте провайдера.

Как перенести сайт без длительного простоя?

Минимизировать простой помогает параллельная работа: полностью настройте сайт на VPS, проверьте его по временному домену или через файл hosts, и только потом переключайте DNS. Также можно использовать rsync для синхронизации последних изменений перед переключением и сделать финальный дамп базы данных.

Что делать, если после переноса сайт не открывается?

Проверьте, правильно ли настроен веб-сервер и слушает ли он правильный порт (80/443). Убедитесь, что DNS уже обновился (используйте dnschecker). Посмотрите логи Nginx (например, /var/log/nginx/error.log) и PHP-FPM. Также проверьте права на папки и файлы, особенно если сайт отдаёт 500 ошибку.

Нужно ли менять DNS-серверы для домена при переносе на VPS?

Нет, вам не обязательно менять NS-записи. Достаточно изменить A-запись в текущей DNS-зоне на IP вашего VPS. Если используется сторонний DNS (например, Cloudflare), обновите запись в панели Cloudflare. Если домен делегирован на DNS хостинга, сделайте изменения там.

Хотите перейти сразу к рабочему доступу?

Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.

Получить доступ

Дальше по теме

Связанные статьи