Зачем переносить WordPress на VPS?
Подавляющее большинство сайтов на WordPress, используют виртуальный хостинг, который имеет два важных преимущества — он дешев и все заботы по настройке и администрированию берет на себя хостер. Виртуальный хостинг отлично подходит для нетребовательных сайтов с невысокой посещаемостью. С ростом посещаемости, растут требования сайта к ресурсам и часто возникает необходимость в использовании дополнительных модулей или специфических настройках, в этом случае оптимальным решением будет перенос сайта на WordPress на VPS (Virtual Private Server). VPS — гораздо дешевле аренды физического сервера и более гибкие в конфигурации, вы можете купить VPS с нужным объемом ресурсов а когда их станет недостаточно просто докупить еще ОЗУ, места на диске или процессорных ядер. VPS с минимальными параметрами по цене сравнимы с виртуальным хостингом, но предоставляют гораздо больше ресурсов и свободы в конфигурировании и оптимизации.
Как выбрать VPS?
При выборе я руководствуюсь следующими критериями:
- цена, но не стоит искать самое дешевое предложение, оно может оказаться слишком дорогим впоследствии;
- компания должна иметь историю и присутствовать на рынке хотя бы несколько лет;
- высокий уровень доступности сервисов (Uptime);
- отзывчивая поддержка;
- однозначный плюс — наличие в списке клиентов популярных сайтов с высокой посещаемостью;
- возможность выбора страны размещения сервера из нескольких вариантов, географически сервер должен быть как можно ближе к большинству посетителей.По всем нашим критериям отлично подходит хостинг Fornex
Как определить когда стоит переносить свой сайт с WordPress на VPS?
Практически на любом виртуальном хостинге можно узнать столько ресурсов использует ваш сайт, например в Cpanel это выглядит так:
В особо тяжелых случаях, вы получите письмо от хостера с предложением взять более дорогой тариф с большими ресурсами или даже блокировку своего аккаунта, поэтому затягивать переезд не стоит.
Видно что мой сайт периодически превышает лимиты, в эти моменты сайт становится недоступен для посетителей либо скорость загрузки сильно снижается. WordPress можно неплохо оптимизировать, и синими линиями показано снижение нагрузки после оптимизации, но очевидно что надолго этого не хватит.
Заказываем виртуальный сервер SSD VPS:
Выбираем тариф, операционную систему, панель управления сервером (грубо говоря это веб-интерфейс для управления параметрами сервера, ее использование не обязательно но в целом упрощает и ускоряет настройку сервера), выбираем расположение сервера — чем ближе географически сервер к посетителям тем быстрее будет загружаться сайт, рекомендую сразу купить место для резервных копий или продумать какую-то свою систему резервного копирования:
Если вы не сильны в администрировании Linux-серверов, настоятельно рекомендую взять панель ISPmanager, с ее помощью можно настроить сервер не прибегая к использованию консоли и прочей не очень понятной «магии» для новичков.
После заказа оплачиваем и ожидаем активации, как правило она практически мгновенная, наш сервер готов и можно приступать к настройке:
При клике по строке с именем сервера открывается удобное меню с обзором основных метрик и состоянием сервера:
Например я хочу изменить ОС, я не большой специалист по Debian и обычно я использую Ubuntu, заходим в настройки, выбираем пункт «Переустановить ОС»
Выбираем образ, выбираем нужную панель управления и жмем кнопку «Запустить переустановку»:
Переустановка ОС занимает около 15 минут, по окончании процесса на почту приходит уведомление, пока сервер переустанавливается можно настроить домен. Я для примера сделал тестовый поддомен — test.kakpedia.org, вы будете использовать свое имя, для того чтоб связать доменное имя и ваш VPS, необходимо в панели управления доменом, создать DNS-запись типа А и прописать ей IP адрес вашего VPS, интерфейсы у большинства регистраторов отличаются незначительно, проблем тут возникнуть не должно:
В зависимости от регистратора на обновление записей DNS может потребоваться от нескольких минут до нескольких дней (сейчас это редкость чаще всего обновление записей DNS занимает менее часа).
На этом этапе уже можно попробовать зайти на ваш сайт и если все сделано верно, вы должны увидеть вот такую картину:
Возвращаемся в личный кабинет, там в меню «Настройка», есть вкладка «Доступы», грубо говоря это способы управления вашим сервером, вы можете делать все по старинке через консоль (и она наверняка пригодится для каких-то специфических настроек), можете использовать VNC, ну а мы для простоты и скорости будем использовать панель управления сервером ISPManager, кликаем по ссылке, вводим указанные на странице логин и пароль:
И попадаем в панель управления сервером, обратите внимание что вы залогинились под пользователем root он управляет всеми настройками сервера, а когда вы добавите домен, им будет управлять отдельный пользователь с ограниченными правами, указанный в поле «Владелец», ниже я покажу как переключаться между пользователями, а пока добавляем наш тестовый домен, заполнять надо поля помеченные красными прямоугольниками, остальные поля можно оставить как есть или поменять. В поле «Выбор скрипта» можно сразу выбрать WordPress он будет установлен автоматически, логин и пароль от сайта будут в уведомлениях (значок появится рядом с логотипом):
Я рекомендую включить сжатие, но с уровнем следует экспериментировать, оптимально значение 3-5 в зависимости от посещаемости вашего сайта, при значениях выше 5 нагрузка на процессор растет сильнее чем степень сжатия.
После того как домен добавлен можно установить WordPress, заходим в меню «WWW-Домены» и жмем кнопку «Скрипты»
Затем в меню выбираем WordPress, если нажать «Быстрая установка», то будет установлена выбранная версия, если вам нужна другая жмите на «Установить», и выбирайте нужную версию, но я рекомендую ставить последнюю, именно она и предлагается по умолчанию:
На следующем шаге необходимо создать базу данных, пользователя для базы данных, создать администратора в WordPress, и т. п:
Если у вас много доменов, внимательно проверяйте настройки чтоб не записать новую установку поверх имеющейся:
На этом этапе мы получили рабочий но пустой блог на WordPress, далее вы можете его настраивать и использовать, если нужно перенести уже существующий сайт, то читайте далее.
Перенос файлов и БД WordPress на VPS
Я покажу перенос на примере наиболее популярной панели для виртуального хостинга Cpanel, в других панелях пункты меню могут называться по-другому и находиться в других местах, но смысл такой же.
- Перенос файлов.
Это можно сделать несколькими способами (можно использовать резервные копии, FTP-клиент), проще и быстрее в Cpanel зайти в менеджер файлов, выбрать нужные и нажать «Сжать», и затем упаковать их в ZIP-архив, кликнув по иконке справа от имени архива можно его скачать.
Важно: Файл wp-config.php в архив добавлять не нужно!
Затем возвращаемся в ISPManager, заходим в менеджер файлов и переходим в папку с нашим сайтом, в эту папку загружаем скачанный ранее архив:
После загрузки его нужно распаковать:
Если вы все же перенесли старый wp-config.php, то нужно его отредактировать и указать новые данные для доступа к БД, пример ниже. - Перенос БД
Проще всего дамп БД сделать с помощью phpMyAdmin:
Выбираете свою базу, переходите на вкладку «Экспорт» и жмете вперед, в зависимости от размера базы процесс может занять некоторое время, в итоге вам на компьютер скачается файл с дампом БД. - Если WordPress переносится вместе с доменом, этот шаг можно пропустить, но если вы переносите сайт с одного домена на другой, то в дампе БД нужно заменить старое доменное имя новым, для этого откройте дамп в любом текстовом редакторе (кроме стандартного Блокнота, он плохо работает с большими файлами) и выполните замену:
Теперь дамп базы нужно загрузить на наш новый сервер:
- Если нужно отредактируйте wp-config.php:
для корректной работы как правило достаточно указать правильные данные для доступа к БД:
- Настройка SSL
Этот пункт не является обязательным, но я настойчиво рекомендую использовать SSL, тем более что сертификат бесплатен, для этого необходимо сменить пользователя на root и перейти в пункт меню «Интеграция — Модули»:
Здесь находим модуль Let`s Encrypt и жмем установить.
Теперь нужно сменить пользователя, чтоб продолжить настройку нашего сайта, как это сделать понятно из картинки:
Переходим в меню SSL-сертификаты и жмем появившуюся кнопку:
Ставьте галочку, заполняйте поля, обратите внимание на поле в прямоугольнике, в нем указано ваше доменное имя с псевдонимами, проверьте что все они открываются в браузере, те которые не открываются — удалите из этого поля, иначе сертификат не будет получен:
Получение сертификата занимает некоторое время (у меня это заняло около 5 минут), статус процесса можно узнать в журнале Let`s Encrypt, если что-то пошло не так, то в журнале будет описание ошибки:
Если всё сделано верно, то предупреждение в адресной строке должно исчезнуть:
Теперь ваш сайт работает на новом сервере и готов к росту посещаемости, текущей конфигурации для этого вполне достаточно. Конечно все нюансы в одной статье охватить невозможно, поэтому пишите в комментарии разберемся вместе.