Миграция на новый сервер: Как переехать и ничего не сломать?

Giteqa

Привет, друзья!

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

Миграция — это то, чего многие стараются избегать и действительно боятся. И это понятно, ведь переезд сайта похож на переезд в другой дом: всегда можно что-то забыть или испортить в процессе. К тому же на это уходит время, и никто не хочет, чтобы его сайт был недоступен даже 5 минут, не говоря уже о нескольких часах.

Так как же оформить миграцию и избежать DownTime? Сегодня мы разберем этот вопрос, чтобы вы не волновались в будущем, если вам придется «перевозить» свой проект.


Подготовка к миграции: С чего начать?

Прежде чем приступать к переносу, нужно провести аудит. Вот три критических точки:

  1. Версии ПО. Одинаковые ли версии PHP, MySQL/MariaDB установлены на серверах? Если на старом стоит PHP 7.4, а на новом 8.3 — это может привести к серьезным ошибкам. Убедитесь, что версии идентичны.

  2. Объем диска. Важно понимать, что на время переноса архивы займут двойное место. Всегда берите сервер с запасом, чтобы не столкнуться с нехваткой пространства в самый ответственный момент.

  3. Доступы. Вам необходимы права Sudo, чтобы самостоятельно провести все манипуляции. Некоторые хостеры дают ограниченный доступ, что усложняет работу. Конечно, провайдеры могут помочь с миграцией, но, как правило, это платная услуга.


Безопасность прежде всего: Как подстраховаться?

Бэкап — это самое верное решение при миграции. Сделав полную резервную копию, вы полностью убережете себя от потери данных и лишних нервов. Если что-то пойдет не так, у вас всегда будет точка отката.


Техническая магия: Переезд без простоя (DownTime)

Секретный ингредиент: Снижаем TTL

Это то, о чем новички забывают чаще всего, а потом ждут сутки, пока сайт «переедет». За 24 часа до миграции зайдите в настройки DNS вашего домена и найдите параметр TTL (Time To Live). Обычно там стоит 3600 или 86400. Измените его на 300 (5 минут).

Зачем это нужно? Когда вы пропишете новый IP, провайдеры по всему миру узнают об этом за 5 минут вместо целого дня. Это и есть ключ к переезду без простоя.

Переносим файлы: Забудьте про FTP

Если на вашем сайте тысячи картинок, переносить их через FileZilla — это пытка. Соединение может оборваться, и вы запутаетесь, что скопировалось, а что нет. Для профи существует команда rsync. Она работает через SSH, сжимает данные и, если связь прервется, просто докачает недостающее.

Пример команды: rsync -avz -e ssh /var/www/html/ пользователь@новый_IP:/var/www/html/

База данных: Режим «Тишины»

Перед тем как сделать экспорт базы данных, обязательно переведите сайт в режим обслуживания (Maintenance mode).

Почему это критично? Если клиент купит товар на старом сервере в момент, когда вы уже делаете копию, этот заказ не попадет на новый сервер. Лучше выключить сайт на 10 минут, чем потерять данные клиента.


Как проверить сайт до того, как его увидит мир?

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

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


Финальный чек-лист после переезда

Когда DNS обновились и сайт открывается с нового сервера, проверьте:

  • SSL-сертификат: Перевыпустился ли Let's Encrypt на новом IP?

  • Почта: Уходят ли письма с сайта (уведомления о заказах или регистрации)?

  • Cron-задачи: Не забыли ли вы перенести планировщик задач?


FAQ: Коротко о главном

  • Нужно ли менять настройки в CMS? Да, если сменились данные базы данных (имя БД, пользователь или пароль), обновите их в файле настроек (например, wp-config.php).

  • Что делать, если на новом сервере ошибка 500? Скорее всего, дело в правах доступа. Попробуйте команду chown -R www-data:www-data для папки вашего сайта.

  • Можно ли мигрировать с Linux на Windows или наоборот? Технически — да, но это создаст кучу проблем с путями и регистрами файлов. Старайтесь использовать одинаковые ОС.


Заключение

Миграция — это не катастрофа, если у вас есть четкий план и холодная голова. Главное — всегда иметь под рукой свежий бэкап и не торопиться с удалением данных со старого сервера (подержите их там еще недельку для подстраховки).

Если же вы чувствуете, что ваш проект слишком сложный для самостоятельного переезда, вам нужно обратиться в техподдержку хостинга, к которому вы осуществляете миграцию. К примеру, в MivoCloud мы осуществляем бесплатную миграцию на наш Shared Hosting при оплате услуги сразу на год.

Автор статьи — Anatolie Cohaniuc