Поиск по сайту:

Как перенести WordPress с виртуального хостинга на облачный сервер с нулевым временем простоя


Статус: устарело

В этой статье рассматривается версия Ubuntu, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:

  • Обновите Ubuntu до версии 14.04.
  • Обновление Ubuntu 14.04 до Ubuntu 16.04
  • Перенесите данные сервера в поддерживаемую версию.

Причина:

См. вместо этого:

Переезд на облачный сервер

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

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

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

Резервные файлы (изображения, темы, плагины)

Вам не нужно создавать резервные копии основных файлов WordPress, но вы должны создавать резервные копии изображений (возможно, вы уже загрузили их для публикации), тем и плагинов. Для этого сначала создайте архив в каталоге wp-contents (правый клик => сжать как zip), затем скачайте его.

Резервное копирование базы данных

В cPanel перейдите в «Мастер резервного копирования => Базы данных MySQL».

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

Шаг 2. Настройте облачный сервер со стеком LAMP

Запустите дроплет (облачный сервер) с Ubuntu 12.04 и следуйте этому руководству для основного процесса настройки: Настройка сервера Ubuntu.

Шаг 3. Установите WordPress

После настройки стека LAMP установите последнюю версию WordPress. Для этого просто следуйте этому руководству: Установка Wordpress на Ubuntu.

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

Создайте виртуальный хост Apache для обработки вашего блога Wordpress. Создайте новый файл в каталоге доступный сайт:

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

Добавьте виртуальный хост (замените yourdomain.com и username соответственно) для блога. Каждый блок VirtualHost определяет отдельный облачный сервер, а число 80 указывает порт, который будет прослушивать Apache. ServerName представляет ваше доменное имя, а DocumentRoot должен указывать на корень каталога WordPress.

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

Затем включите этот виртуальный хост с помощью утилиты Apache a2ensite. Он использует указанную выше конфигурацию и указывает Apache прослушивать yourdomain.com.

sudo a2ensite yourdomain.com

Теперь перезагрузите сервер Apache. Всякий раз, когда вы вносите какие-либо изменения в конфигурацию сервера, вы должны перезагрузить сервер, чтобы эти изменения вступили в силу.

sudo service apache2 reload

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

Теперь установка WordPress настроена, но вы не импортировали свои старые статьи, изображения, темы и т. д. Давайте сначала загрузим файлы.

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

scp очень удобен для загрузки файлов. Как и FTP, вы можете передавать файлы, но SCP делает это безопасно через SSH. Для загрузки файлов нужно передать команде два аргумента. Первый — это расположение файла, который вы хотите загрузить, а второй — целевой сервер (в виде имя_пользователя@сервер_ip_адрес).

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 для указания адреса хоста (в данном случае это локальный хост, поскольку база данных работает на том же сервере), второй аргумент, -u, предоставляет имя пользователя базы данных, третий параметр, -p означает, что пароль будет предоставлен по запросу, четвертая опция указывает имя базы данных WordPress, а последний аргумент — это ввод — резервная база данных.

Вам будет предложено ввести пароль для пользователя базы данных. В течение нескольких секунд содержимое базы данных будет импортировано в указанную базу данных.

Восстановить файлы wp-content

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

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

Шаг 6. Протестируйте свой блог

Этот шаг важен для достижения нулевого времени простоя. Вы должны убедиться, что блог правильно настроен на новом месте. Для этого сначала обновите файл hosts.

sudo nano /etc/hosts

Добавьте эту строку в файл hosts (теперь при посещении yourdomain.com она будет указывать на ваш новый сервер, но только на вашем компьютере — это упрощает тестирование).

server_ip_address  yourdomain.com 

Затем очистите кеш DNS (поскольку вы обновили файл hosts, вы должны очистить кеш DNS, чтобы применить изменения. nscd — хороший инструмент для очистки результатов кеша DNS)

sudo service nscd restart

Теперь, если вы посетите yourdomain.com, он будет загружать страницы с вашего нового сервера. Если он выглядит так, как ожидалось (все ваши статьи, изображения, страницы, плагины, пользовательские дизайны и т. д.), то это означает, что все настроено и вам следует перейти к следующему шагу. В противном случае попытайтесь выяснить, что пошло не так. (После успешного тестирования удалите указанную выше строку из файла hosts).

Шаг 7. Обновите настройки DNS

Теперь вам следует обновить настройки DNS у вашего регистратора доменов. Для записи A обновите IP-адрес до нового значения (IP-адрес вашего VPS) или вы также можете переместить свой DNS к своему провайдеру VPS (и добавить туда записи A). Для DigitalOcean вам нужно поставить эти серверы имен:

ns1.linux-console.net
ns2.linux-console.net
ns3.linux-console.net

Примечание. Ваш DNS-сервер начнет распространять новые значения, но это займет некоторое время, поэтому не отключайте старый виртуальный хостинг сразу после перехода (желательно через сутки).