Процесс миграции может показаться сложным, но это действительно очень просто. Все, что вам нужно, это подключится к Linux через SSH как на старом, так и на новом сервере. В этом руководстве мы покажем вам, как переместить свой сайт WordPress и другие данные из вашего старого хостинг — провайдера для вашего нового виртуального сервера практически без простоев.
Подготовка
Чтобы свести к минимуму время переноса, сначала вам нужно будет понизить TTL (Time To Live) значение для домена, который вы будете переносить. Затем войдите на свой новый виртуальный сервер и установите все необходимые услуги (MySQL, PHP, Nginx и др.). Мы не будем вдаваться в подробности в этой части, потому что вы можете проверить наш отличный учебник, где вы найдете шаг за шагом инструкцию о том, как настроить MySQL, PHP-FPM и Nginx на сервере Debian / Ubuntu.
Миграция
После того, как VPS будет настроен, следующий шаг, это перенос веб-сайта с данными и конфигурациями к нему.
Выполните следующие действия на новом виртуальном сервере
Создайте новую базу данных MySQL (желательно с тем же именем пользователя и паролем, как вы используете на вашем старом сервере)
mysql -u root CREATE DATABASE DATABASE_NAME; GRANT ALL PRIVILEGES ON DATABASE_NAME.* TO 'DATABASE_USER'@localhost IDENTIFIED BY 'USER_PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES; \q
Создайте корневой каталог для веб-сайта
mkdir -p /var/www/your-site.ru
Выполните следующие действия на старом виртуальном сервере
Создайте mysqldump вашей базы данных,
mysqldump -u root -p[root_password] [database_name] > /root/database_dump.sql
и скопируйте файл дампа базы данных, конфигурации Nginx и файлы сайта на ваш новый виртуальный сервер.
rsync -av -e ssh /var/www/your-site.ru/ VPS_IP:/var/www/your-site.ru/ rsync -av -e ssh /root/database_dump.sql VPS_IP:/root/ rsync -av -e ssh /etc/nginx/sites-available/your-site.ru VPS_IP:/etc/nginx/sites-available/ # moving other data rsync -av -e ssh /path/to/other/data VPS_IP:/path/to/other/data
Возвратитесь на новый виртуальный сервер:
Импортируйте файл дампа MySQL:
mysql -u root -p[root_password] [database_name] < /root/database_dump.sql
Включите свой веб-сайт:
ln -s /etc/nginx/sites-available/your-site.ru /etc/nginx/sites-enabled/your-site.ru /etc/init.d/nginx restart
Если вы получаете какие-либо ошибки, проверьте, правильно настроен PHP-FPM, как на старом сервере.
Тестирование
Теперь, когда ваш сервер настроен это время, чтобы проверить, правильно ли она работает. На локальном компьютере Ubuntu, откройте файл /etc/hosts и добавьте следующую строку:
VPS_IP your-site.ru
Откройте your-site.ru в вашем браузере и вы увидите, что ваш сайт размещен на вашем новом виртуальном сервере. Если вы получаете сообщение об ошибке подключения к базе данных, проверьте, базу данных MySQL, имя пользователя и пароль являются должны быть правильными. Если все в порядке, измените настройки DNS для вашего домена, т.е. указать свой домен на ваш новый IP — адрес виртуального сервера.
Перенаправление (Необязательно)
Обычно время распространения DNS может занять от 12 до 72 часов. В этот период некоторые из ваших посетителей будут видеть ваш сайт размещенный на вашем старом сервере и другие будут видеть ваш сайт размещенный на вашем новом виртуальном сервере. Чтобы избежать этой проблемы, вы можете перенаправить трафик с вашего старого виртуального сервера на ваш новый виртуальный сервер.
На вашем старом виртуальном сервере откройте блок Nginx сервера (виртуального хоста) и отредактировать следующим образом:
vim /etc/nginx/sites-enabled/your-site.ru
server { listen 80; server_name www.your-site.ru your-site.ru; location / { proxy_pass http://VPS_IP/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; } }
Не забудьте перезапустить Nginx для того, чтобы изменения вступили в силу.
/etc/init.d/nginx restart
Конфигурация прокси-сервера выше будет переводить все запросы от старого виртуального сервера на новый. Это может быть особенно полезно, если вы часто обновляете содержимое.
PS . Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.