Перенесення сайту на інший сервер потрібне при зміні тарифу, переїзді в іншу локацію або обʼєднанні кількох серверів в один. У ISPmanager 6 є вбудований модуль міграції, але для нестандартних випадків простіше перенести сайт вручну. Розберемо обидва способи.
Коли потрібне перенесення між серверами
Типові причини: сервер впирається в ліміти по CPU і памʼяті, клієнт переїжджає на VDS з більшою локацією, наприклад з Німеччини в США, або кілька сайтів з одного сервера треба розподілити по різних. Перед перенесенням будь-якого сайту перевірте поточну версію PHP і перелік встановлених розширень — вони мають збігатися на новому сервері.
Способи перенесення: модуль чи вручну
| Спосіб | Переваги | Недоліки |
|---|---|---|
| Вбудований модуль міграції | Переносить сайт, базу і пошту одним завданням | Вимагає ISPmanager 6 на обох серверах |
| Ручне перенесення rsync + mysqldump | Працює між будь-якими панелями і без панелі | Більше ручних кроків, вищий ризик помилки |
Вбудований модуль зручний при перенесенні між двома серверами ZevsHost з ISPmanager 6. Ручний спосіб потрібен, якщо цільовий сервер працює під іншою панеллю або зовсім без панелі.
Перенесення через модуль міграції
На вихідному сервері відкрийте «Інструменти» → «Перенесення даних», вкажіть IP-адресу і облікові дані адміністратора цільового сервера. Модуль сам передає файли сайту, дамп бази даних і налаштування поштових скриньок, зберігаючи структуру каталогів і права доступу.
Після завершення завдання порівняйте контрольні суми ключових файлів і відкрийте сайт за IP цільового сервера, перш ніж перемикати DNS.
Ручне перенесення: файли і база даних
Для ручного перенесення синхронізуйте домашній каталог сайту по SSH і зробіть дамп бази:
rsync -avz -e ssh /var/www/httpd-cts/site_ru/ root@new-server:/var/www/httpd-cts/site_ru/
mysqldump -u site_user -p site_db > site_db.sql
Дамп бази перенесіть на новий сервер і розгорніть у заздалегідь створеній порожній базі з тим самим імʼям користувача і паролем, щоб не редагувати конфігураційні файли сайту:
mysql -u site_user -p site_db < site_db.sql
Якщо на сайті увімкнено кеш через Redis або Memcached, після перенесення очистіть кеш заново — старі ключі посилаються на попередній сервер. Налаштування кешу описано в статті про Redis і Memcached в ISPmanager 6.
DNS і мінімізація простою
Знизьте TTL записів A і MX домену до 300 секунд за добу до перенесення — так оновлення DNS у клієнтів пройде швидше. Одразу після перевірки сайту на новому сервері перемкніть A-запис і дочекайтеся закінчення старого TTL, перш ніж вимикати сайт на вихідному сервері.
Як редагувати записи домену, детально розглянуто в статті про DNS-зони в ISPmanager 6.
Перевірка після перенесення
Після перемикання DNS перевірте типові проблемні місця:
- Чи відкривається сайт по HTTPS, а не тільки по HTTP
- Чи збігається версія PHP і увімкнені розширення з вихідним сервером
- Чи надходить пошта на новий сервер і чи не дублюється на старому
- Чи працюють завдання cron, перенесені разом з акаунтом
- Чи не залишилося старих DNS-записів, що вказують на попередній IP
Підсумок: вбудований модуль міграції ISPmanager 6 закриває більшість перенесень між своїми серверами, а ручний спосіб через rsync і mysqldump лишається універсальним резервним варіантом на випадок зміни панелі чи провайдера.