Перейти к содержимому

Статья 16 из 75

Начало работы

Как перенести сайт на VPS Datagio

Цель — поднять копию на новом IP, проверить её приватным Host-заголовком и только потом переключить DNS. Старый сервер гасите последним, не первым.

  1. Закажите VPS в нужной локации с запасом диска.
  2. Поставьте тот же стек: Nginx + PHP + MySQL, или Docker Compose, или панель. Версии лучше совпадающие.
  3. Перенесите файлы и базы.
  4. Снизьте TTL домена заранее (за 12–24 часа до 300 секунд).
  5. Проверьте сайт по /etc/hosts или curl -H 'Host: example.com' http://НОВЫЙ_IP/.
  6. Меняйте A-запись. Почту (MX) не трогайте, если она не на этом сервере.
  7. Старый хост держите 48 часов на случай откатить DNS.

С нового сервера:

Окно терминала
rsync -aHAX --info=progress2 root@СТАРЫЙ_IP:/var/www/ /var/www/
rsync -aHAX root@СТАРЫЙ_IP:/etc/nginx/ /etc/nginx/

Права и симлинки -aHAX сохраняет. Исключите node_modules и кэши, если они собираются заново.

На источнике:

Окно терминала
mysqldump -u root -p --single-transaction --all-databases > all.sql

На приёмнике:

Окно терминала
mysql -u root -p < all.sql

Для Postgres: pg_dumpall. Docker: копируйте named volumes (docker run --rm -v vol:/data ... tar) или pg_dump из контейнера.

Выпустите сертификат заново: certbot. Let’s Encrypt привязан к домену, файлы со старого сервера могут не подойти.

Обновите файрвол, cron, systemd. Смените секреты, которые светились на старом корне.

Если переносите VPN-панель, клиентские inbound-адреса сменятся вместе с IP — раздайте новые подписки.