logo
logo

Высокопроизводительные виртуальные серверы в России и Европе.

    УСЛУГИ
  • Виртуальные серверы
  • Выделенные серверы
  • Домены
    ПОДДЕРЖКА
  • Написать в Telegram
  • support@vdsok.guru
  • abuse@as202831.network
  • Контакты
    ИНСТРУМЕНТЫ
  • Looking Glass
    ПРАВОВАЯ ИНФОРМАЦИЯ
  • Пользовательское соглашение
  • Политика конфиденциальности
  • Публичная оферта
  • TrustPilot
© 2026 VDSok.guru. Все права защищены.
CryptoBot Lolz.Guru Heleket FreeKassa Lava.ru 2328.io NOWPayments
DMCA.com Protection Status
База знанийСодержаниеПодготовка и бэкапПеренос файлов на новый серверВосстановление базы данныхПереключение DNSТестирование до переключенияSSL-сертификат на новом сервере
Гайды2 мая 20263 мин

Как перенести сайт на новый сервер

Подготовка и бэкап

Перед любым переносом сделайте полный бэкап. На старом сервере создайте архив файлов сайта:
tar -czf site-backup.tar.gz /var/www/yoursite/
Отдельно сделайте дамп базы данных. Для MySQL:
mysqldump -u root -p dbname > db-backup.sql
Для PostgreSQL:
pg_dump -U postgres dbname > db-backup.sql
Сохраните конфиги Nginx/Apache, crontab:
crontab -l > cron-backup.txt
Также сохраните список установленных пакетов. Проверьте, что бэкап корректен — попробуйте распаковать архив и убедитесь, что SQL-дамп не обрезан.

Перенос файлов на новый сервер

Самый надёжный способ — rsync через SSH:
rsync -avz --progress /var/www/yoursite/ user@new-server:/var/www/yoursite/
Rsync передаёт только изменённые файлы и умеет докачивать при обрыве соединения. Альтернатива:
scp -r /var/www/yoursite/ user@new-server:/var/www/yoursite/
Однако scp не поддерживает докачку. Для больших объёмов (десятки гигабайт) используйте rsync с параметром --compress. Не забудьте перенести конфигурационные файлы, включая .env, если они не в репозитории.

Восстановление базы данных

На новом сервере установите ту же версию СУБД, что и на старом — это избавит от проблем совместимости. Создайте базу и пользователя, затем импортируйте дамп. Для MySQL:
mysql -u root -p dbname < db-backup.sql
Для PostgreSQL:
psql -U postgres dbname < db-backup.sql
После импорта проверьте целостность: зайдите в базу и выполните пару выборок по ключевым таблицам. Убедитесь, что все таблицы на месте и данные корректны.

Переключение DNS

За 2-24 часа до переноса уменьшите TTL записей DNS до 300 секунд (5 минут) — так старые значения быстрее вытеснятся из кэшей. После того как новый сервер полностью настроен и протестирован, измените A-запись домена на IP нового сервера. Распространение DNS занимает от нескольких минут до суток, в зависимости от TTL и провайдеров. Пока DNS переключается, оба сервера должны быть работоспособны — часть пользователей будет попадать на старый, часть на новый.

Тестирование до переключения

Не переключайте DNS, пока не убедитесь, что сайт работает на новом сервере. Добавьте запись в локальный файл hosts (замените IP на адрес нового сервера):
echo '1.2.3.4 yourdomain.com' >> /etc/hosts
Откройте сайт в браузере и проверьте: работает ли авторизация, корректны ли изображения, нет ли ошибок 500. Проверьте логи Nginx/Apache на наличие ошибок. Протестируйте формы, отправку писем и другую критическую функциональность.

SSL-сертификат на новом сервере

После переключения DNS и его распространения выпустите новый SSL-сертификат на новом сервере:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Если вы используете Cloudflare — SSL проксируется на их стороне, и на сервере достаточно самоподписанного сертификата или Cloudflare Origin Certificate. Не забудьте настроить автообновление:
sudo certbot renew --dry-run
Эта команда проверит, что cron/timer для обновления работает.
Читайте также

Настройка SSH — ключи, безопасность, алиасы

2 мин

Nginx как reverse proxy с SSL

2 мин

Как подключиться к серверу

2 мин