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

Переезд из Hetzner в Vscale

· 4 мин. чтения
Йети

В этой инструкции мы расскажем, как перенести твои проекты из Hetzner и Hetzner Cloud на Vscale. В данном случае, мы рассмотрим перенос проекта между двумя Linux серверами.

к сведению

Обрати внимание, что в этой статье мы рассматриваем общий вариант переноса не слишком сильно нагруженного проекта. В случае, если ты планируешь перенести к нам высоконагруженный проект, то лучше обратись к специалистам по администрированию. Это поможет переехать без боли.

Подготовка к переезду

Первым шагом перед переездом проекта является подготовка. Убедись, что у тебя есть полная резервная копия всех важных данных и конфигурационных файлов с сервера Hetzner Cloud. Это включает в себя базы данных, веб-сайты, и другие необходимые файлы.

Создание сервера на Vscale

  1. Войди в свой аккаунт на Vscale или зарегистрируйся.
  2. Создай новый сервер, выбрав подходящую конфигурацию и операционную систему (в данном случае, Linux).

Установка необходимых программ

На новом сервере, который ты создал в Vscale, установи все необходимые программы и зависимости, которые использовались на сервере Hetzner Cloud. Это может включать в себя веб-серверы, базы данных, языки программирования и все остальное, без чего не сможет работать твой проект.

Веб-сервер

Если твой проект использует веб-сервер (например, Nginx или Apache), установи соответствующий веб-сервер на свежем серваке. Ниже приведены примеры установки для Nginx и Apache. Там все достаточно просто:

sudo apt-get update
sudo apt-get install -y nginx

Базы данных

Если ваш проект взаимодействует с базой данных, убедитесь, что на новом сервере установлена нужная система управления базой данных (например, MySQL, PostgreSQL).

sudo apt-get update
sudo apt-get install -y mysql-server

Языки программирования и среды их выполнения

Установите языки программирования (например, Node.js, Python, PHP) и соответствующие среды выполнения. Приведенные ниже команды показывают примеры для Node.js и Python:

sudo apt-get update
sudo apt-get install -y nodejs
sudo apt-get install -y npm

Перенос конфигурационных файлов

Для корректной работы проекта в Vscale, тебе нужно перенести конфигурационные файлы веб-сервера и базы данных на новый сервер.

Перенос Конфигурации Nginx:

На Исходном Сервере:

  1. Найди основной конфигурационный файл Nginx. Обычно он находится в /etc/nginx/nginx.conf.
  2. Также проверьте наличие дополнительных конфигураций сайтов, расположенных в /etc/nginx/sites-available и символических ссылок на них в /etc/nginx/sites-enabled.
  3. Сделай архив этих файлов. Например так:
    tar -czvf nginx-configs.tar.gz /etc/nginx/nginx.conf /etc/nginx/sites-available /etc/nginx/sites-enabled

На Целевом Сервере:

  1. Перенеси файл архива nginx-configs.tar.gz на целевой сервер.
  2. Распакуй архив в соответствующую директорию, например:
    tar -xzvf nginx-configs.tar.gz -C /etc/nginx/
  3. После распаковки проверь и при необходимости отредактируй конфигурационные файлы, особенно если на целевом сервере есть отличия в путях или настройках.
  4. Перезапусти Nginx для применения новых конфигураций:
    sudo systemctl restart nginx

Перенос Конфигурации MySQL:

На Исходном Сервере:

  1. Найди основной конфигурационный файл MySQL, который обычно находится в /etc/mysql/my.cnf или /etc/my.cnf.
  2. Сделай копию этого файла. Например:
    cp /etc/mysql/my.cnf /path/to/backup/

Экспорт баз данных:

  1. Экспортируй необходимые базы данных. Это можно сделать с помощью mysqldump на исходном сервере. Например:
    mysqldump -u [username] -p[password] [database_name] > database_name.sql
    Замени [username], [password], и [database_name] на соответствующие значения.

На Целевом Сервере:

  1. Перенеси резервную копию файла my.cnf и дампы баз данных на целевой сервер.

  2. Размести файл my.cnf в соответствующем месте (например, /etc/mysql/my.cnf).

  3. Импортируй базы данных с помощью mysql:

    mysql -u [username] -p[password] [database_name] < database_name.sql

    Снова замени [username], [password], и [database_name].

  4. Перезапусти MySQL:

    sudo systemctl restart mysql

Общие Советы:

  • Перед переносом убедись, что версии Nginx и MySQL на обоих серверах совместимы. Сделать это можно с помощью команд nginx -v и mysql --version.
  • Люди делятся на два вида: те, кто не делает бэкапы, и те, кто уже делает. Всегда делай бэкапы перед заменой конфигурационных файлов.
предупреждение

Для MySQL важно, чтобы версии были совместимы, особенно с точки зрения формата хранения данных и синтаксиса команд. Несовместимость версий может привести к проблемам при импорте баз данных.

Перенос данных

Теперь перенеси резервные копии данных с сервера Hetzner Cloud на новый сервер на Vscale. Это можно сделать с использованием инструментов, таких как rsync для копирования файлов.

Пример использования rsync для копирования файлов:

rsync -avz --progress /path/to/files user@x.x.x.x:/destination/path

Замени /path/to/files на путь к вашим резервным копиям, user на твое имя пользователя, x.x.x.x на IP-адрес твоего нового сервера в Vscale, и /destination/path на путь к папке на новом сервере.

А что после переезда?

После переезда мы настоятельно рекомендуем вам проверить, что все работает так, как должно работать и убедиться, что ничего не сломалось. Универсальных способов нет, но вот несколько советов:

  1. Проверь доступность веб-сайта: Открой свой веб-браузер и убедись, что твой веб-сайт загружается корректно. Проверь все страницы и функции.

  2. Тестирование базы данных: Если твой проект использует базу данных, удостоверься, что соединение с базой данных установлено, и запросы выполняются без ошибок.

  3. Проверь важные функции приложения: Проверь ключевые функции твоего приложения, такие как формы, обработка платежей, авторизация и другие.

  4. Логирование: Проверь логи твоего приложения и веб-сервера на наличие ошибок или предупреждений.

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

Добро пожаловать в Vscale. Надеемся, что тебе понравится 💙.