При переносе сайта на другой сервер: скопируйте файлы, базу данных, SSL-сертификат, настройте веб-сервер и обновите DNS. Ниже приведён пошаговый чеклист.
Применимо к:
✔ VPS
✔ Выделенные серверы
✔ Linux
С помощью rsync (рекомендуется):
rsync -avz -e ssh /var/www/сайт/ root@НОВЫЙ_IP:/var/www/сайт/
Или через scp:
scp -r /var/www/сайт/ root@НОВЫЙ_IP:/var/www/сайт/
Через tar-архив (если много мелких файлов):
tar czf /tmp/site.tar.gz -C /var/www/ сайт/
scp /tmp/site.tar.gz root@НОВЫЙ_IP:/tmp/
На новом сервере:
tar xzf /tmp/site.tar.gz -C /var/www/
Создайте дамп на старом сервере:
mysqldump -u root -p ИМЯ_БАЗЫ > /tmp/database.sql
Перенесите на новый сервер:
scp /tmp/database.sql root@НОВЫЙ_IP:/tmp/
На новом сервере создайте базу и импортируйте:
mysql -u root -p -e "CREATE DATABASE ИМЯ_БАЗЫ;"
mysql -u root -p ИМЯ_БАЗЫ < /tmp/database.sql
Создайте пользователя БД:
mysql -u root -p -e "CREATE USER 'user'@'localhost' IDENTIFIED BY 'пароль'; GRANT ALL ON ИМЯ_БАЗЫ.* TO 'user'@'localhost'; FLUSH PRIVILEGES;"
Скопируйте конфигурацию виртуального хоста или создайте заново на новом сервере.
Проверьте конфигурацию:
nginx -t
systemctl reload nginx
Для Let's Encrypt выпустите новый сертификат на новом сервере:
certbot --nginx -d example.com -d www.example.com
Для платного сертификата: скопируйте файлы сертификата и ключа.
Обновите настройки подключения к БД в конфигурации сайта (wp-config.php, .env и т.п.), если имя хоста, пользователь или пароль изменились.
Измените A-запись домена на IP нового сервера.
Дождитесь обновления DNS (при TTL 300 секунд это займёт несколько минут).
После переключения DNS выполните повторную синхронизацию файлов и БД со старого сервера, чтобы захватить изменения во время переноса:
rsync -avz -e ssh /var/www/сайт/ root@НОВЫЙ_IP:/var/www/сайт/
curl -I http://example.com
Ответ должен быть HTTP 200. Проверьте все страницы сайта, формы, подключение к БД.
dig example.com +short
Должен вернуться IP нового сервера.
Если после переноса сайт работает некорректно, проверьте логи веб-сервера и подключение к БД. При необходимости верните DNS на старый сервер (он должен оставаться рабочим до полной проверки). Техническая поддержка может помочь с переносом.