MAATRIX / Блог / Переезд с виртуального хостинга на VPS без потери данных

Переезд с виртуального хостинга на VPS без потери данных

Переезд с виртуального хостинга на VPS: пошаговый гайд
Блог MAATRIX · 2026-07-07

Сайт перерос shared-хостинг: тормозит под нагрузкой, не хватает прав, нельзя поставить нужный софт. Пора на VPS. Главный страх переезда — простой и потеря данных, но при правильном порядке действий сайт не ляжет ни на минуту. Разберём перенос файлов, базы и переключение домена без спешки.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Стратегия «без простоя»

Секрет плавного переезда — не выключать старый сайт, пока новый не заработал. Порядок такой: поднимаем копию на VPS, проверяем её по IP или временному домену, и только когда всё работает, переключаем DNS. Пока DNS обновляется по миру, оба сайта живут параллельно.

Заранее снизьте TTL DNS-записей до 300 секунд за сутки до переезда — тогда после переключения посетители перейдут на новый сервер за минуты, а не за часы. Это делается в панели, где управляется домен. Тот же приём убирает главный страх новичков: если на новом сервере вдруг что-то отвалится, можно мгновенно вернуть A-запись обратно на старый хостинг, и сайт продолжит работать как ни в чём не бывало.

Для типичного сайта на WordPress/Битрикс/самописном PHP на VPS нужен LEMP-стек и 2–4 ГБ RAM. NVMe-диск на MAATRIX здесь особенно заметен: сайт, который «задыхался» на переполненной shared-ноде, на своём сервере с быстрым диском отвечает ощутимо резвее.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для переезда сайта

Готовим VPS: стек под сайт

На чистом сервере ставим веб-сервер, PHP и базу:

sudo apt update
sudo apt install -y nginx mysql-server php-fpm php-mysql \
  php-curl php-gd php-mbstring php-xml php-zip

Создаём базу и пользователя, куда потом зальём дамп:

sudo mysql
CREATE DATABASE mysite CHARACTER SET utf8mb4;
CREATE USER 'siteuser'@'localhost' IDENTIFIED BY 'СильныйПароль';
GRANT ALL ON mysite.* TO 'siteuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Переносим файлы: rsync или архив

Если на старом хостинге есть SSH — самый чистый способ забрать файлы прямо на VPS через rsync (докачивает только изменённое):

rsync -avz -e ssh olduser@old-host.ru:~/public_html/ \
  /var/www/mysite/

Если SSH нет, а только FTP/файловый менеджер — соберите архив в панели хостинга (или через File Manager), скачайте и распакуйте на VPS:

cd /var/www/mysite
unzip site-backup.zip
sudo chown -R www-data:www-data /var/www/mysite

Права на файлы — частая причина «белого экрана»: владельцем должен быть пользователь веб-сервера (www-data).

Дамп и импорт базы MySQL

На старом хостинге снимите дамп базы (через SSH либо экспортом в phpMyAdmin):

mysqldump -u olduser -p old_db_name > dump.sql

Перекиньте файл на VPS и импортируйте в созданную базу:

scp dump.sql root@ваш-vps-ip:/root/
mysql -u siteuser -p mysite < /root/dump.sql

Пропишите новые данные подключения в конфиге сайта: для WordPress это DB_NAME/DB_USER/DB_PASSWORD в wp-config.php, для самописного — свой config.php.

Меняем URL и проверяем по IP

Пока домен ещё смотрит на старый хостинг, проверьте сайт на VPS локально: добавьте в свой /etc/hosts строку с IP сервера и доменом — так только у вас сайт откроется с нового сервера.

203.0.113.10   example.com www.example.com

Если в базе прописаны абсолютные ссылки (частый случай в WordPress при смене домена), замените их корректно, с учётом сериализованных данных, через WP-CLI:

wp search-replace 'http://old-domain.ru' 'https://example.com' --all-tables

Простой SQL-запрос REPLACE тут опасен — он ломает сериализованные массивы. Используйте WP-CLI или проверенный скрипт.

Переключаем DNS и добиваем хвосты

Когда сайт по /etc/hosts открывается без ошибок, меняйте A-запись домена на IP VPS. Благодаря заниженному TTL переключение пройдёт за минуты. Выпустите SSL уже на новом сервере:

sudo certbot --nginx -d example.com -d www.example.com
  • Проверьте формы обратной связи и почту (SMTP на VPS настраивается отдельно).
  • Настройте cron-задачи, которые были на старом хостинге.
  • Не удаляйте старый хостинг сразу — подержите неделю как страховку.

После переезда включите регулярные бэкапы: на MAATRIX ежедневные снапшоты VM делаются автоматически, но собственный дамп базы раз в сутки лишним не будет.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для переезда сайта

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Будет ли простой во время переезда?

Нет, если сначала поднять и проверить копию на VPS, а DNS переключать в последнюю очередь. Старый сайт работает, пока новый не готов.

Как перенести базу, если нет SSH на старом хостинге?

Экспортируйте базу через phpMyAdmin в .sql, перенесите файл на VPS и импортируйте командой mysql < dump.sql.

Почему после переезда сломались ссылки и картинки?

Обычно в базе остались старые абсолютные URL. Для WordPress используйте wp search-replace, который корректно обрабатывает сериализованные данные.