Перенос сайта WordPress на облачный сервер с нулевым временем простоя

Многие блоги начинают на разделяемом веб-хостинге (англ. shared hosting). Конечно, такой хостинг хорош для начала, поскольку не требует больших материальных вложений. Но с увеличением трафика веб-хостинг может не справиться, а потому рекомендуется перейти на выделенный облачный сервер. Процесс перехода довольно прост, согласно описанным здесь инструкциям переместить сайт или блог WordPress можно в течение всего нескольких часов и с нулевым временем простоя.

1: Создайте резервную копию

Сначала нужно сделать резервную копию всех файлов, находящихся на текущем веб-хостинге, вместе с базой данных MySQL. Большинство хостинг-провайдеров предоставляет простой графический интерфейс для управления серверами (например, CPanel).

Копировать файлы ядра WordPress не нужно; скопируйте изображения, темы и установленные плагины. Для этого нужно создать архив каталога wp-contents (щёлкните правой кнопкой и выберите compress as zip), а затем загрузить его.

Бэкап базы данных

В cPanel откройте Backup Wizard => MySQL Databases.

Здесь можно загрузить базу данных MySQL в формате *.sql.gz. Сохраните БД как backup_db.sql.gz на рабочем столе.

2: Настройте облачный сервер

Запустите облачный сервер и установите зависимости WordPress: систему управления базами данных MySQL, скриптовый язык PHP и веб-сервер Apache. Все эти зависимости вместе составляют программный стек LAMP.

Руководства по начальной настройке сервера:

Инструкции по установке стека LAMP:

3: Установите WordPress

Завершив установку стека LAMP, установите последнюю доступную версию WordPress.

Примечание: Инструкции по установке и настройке WordPress можно найти в специальном разделе данного сайта.

4: Создайте виртуальный хост

Затем нужно настроить виртуальный хост Apache для поддержки сайта WordPress. Создайте новый файл в каталоге site-available:

sudo nano /etc/apache2/sites-available/yourdomain.com

Добавьте виртуальный хост (вместо yourdomain.com и username укажите свои соответствующие данные). Каждый виртуальный хост определяет настройки отдельного сайта; 80 – это порт, который будет прослушивать Apache. ServerName –указывает имя домена, а DocumentRoot задаёт root-каталог, содержащий файлы сайта.

<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/
</VirtualHost>
<VirtualHost *:80>
ServerName www.yourdomain.com
Redirect permanent / http://yourdomain.com/
</VirtualHost>

Включите виртуальный хост при помощи утилиты a2ensite.

sudo a2ensite yourdomain.com

Затем перезапустите сервер Apache. Имейте в виду: чтобы обновить настройки веб-сервера, его нужно перезапускать после любых изменений настроек. В противном случае изменения не бдут активированы.

sudo service apache2 reload

5: Восстановите базу данных и файлы

Итак, WordPress готов к обслуживанию сайта. Теперь нужно импортировать ранее размещённые изображения, статьи, темы и т.п.

Загрузите резервные копии базы данных MySQL и остальные файлы на VPS.

Для этого используется scp. Этот протокол позволяет обмениваться файлами, как и FTP, но защищает взаимодействие при помощи SSH. Чтобы загрузить файлы, нужно передать команде два аргумента: текущее расположение файла и целевой сервер (для этого используется формат username@server_ip_address). Итак, чтобы загрузить резервные копии файлов, просто выполните следующие команды локально, после чего необходимые файлы будут загружены в домашний каталог сервера:

scp ~/Downloads/backup_db.sql.gz username@server_ip_address:
scp ~/Downloads/wp-content.zip username@server_ip_address:

Чтобы восстановить БД, войдите на сервер и введите команду (указав свои данные вместо database_name и database_user).

mysql -h localhost -u database_user -p database_name < backup_db.sql.gz

Этой команде необходимы аргументы:

  • Опция –h задаёт адрес хоста (в данном случае это localhost, поскольку БД работает на одном сервере);
  • Параметр –u указывает имя пользователя БД;
  • Опция –p включает защиту паролем;
  • Опция < указывает имя бд для WordPress.

На данном этапе нужно указать пароль пользователя БД. Через несколько секунд БД будет полностью импортирована.

Восстановление файлов с контентом

Чтобы восстановить темы, загруженные видео, изображения, плагины, просто извлеките их из архива при помощи unzip. Данная утилита распакует архив и поместит файлы в новый каталог wp-contents.

sudo unzip wp-content.zip -d /var/www/

6: Проверьте работу сайта

Этот раздел важен для достижения нулевого времени простоя. Необходимо убедиться, что блог был настроен правильно на новом сервере. Сначала обновите файл hosts.

sudo nano /etc/hosts

Добавьте в него следующую строку; после этого доменное имя будет направлено на новый сервер.

server_ip_address  yourdomain.com

Затем очистите кэш DNS; поскольку файл hosts был обновлён, кэш необходимо сбросить, чтобы новые настройки вступили в силу. Для этого используйте nscd:

sudo service nscd restart

Затем откройте доменное имя в браузере. Проверьте, всё ли находится на своих местах после перемещения сайта. Если это так, удалите только что добавленную строку. В противном случае внимательно перечитайте предыдущие разделы.

7: Обновите настройки DNS

Затем нужно обновить настройки DNS. В записи А обновите IP-адрес сервера.

Также можно передать DNS новому провайдеру и добавить запись А заново.

Примечание: сервер DNS не сразу начнёт транслировать новые данные, на это уйдёт некоторое время, потому не стоит отключать старый сервер сразу после перемещения сайта. Рекомендуется подождать некоторое время (как правило, не больше дня).

Tags: , , , , , ,

Добавить комментарий