Как бесплатно настроить сайт WordPress в облаке Google
29 апреля 2022 г.Постановка задачи 🍀
Сайт WordPress построен с использованием нескольких плагинов (например, Elementor). Чтобы использовать плагины, мне нужен бизнес-план на WordPress.com, который стоит 25 долларов в месяц, что слишком много для моего варианта использования. С учетом сказанного мне нужна более бюджетная альтернатива, так с чего мне начать?
У меня есть некоторый опыт работы с GCP, может быть, мне нужно сначала взглянуть на него? 🤔
Действительно, они предлагают решения.
Моя цель — создать что-то похожее на WordPress.com, среду без кода. Взаимодействие осуществляется через графический интерфейс в панели администратора. Из трех только Google Compute Engine (GCE) удовлетворяет мои потребности, поэтому я выбрал его.
А цены? 🤔
К счастью, Google предлагает бесплатный уровень для GCE. В 2021 году Google обновил спецификацию бесплатного экземпляра GCE с «f1-micro» до «e2-micro», и этого достаточно для моего варианта использования.
GCE — это экземпляр виртуальной машины, то есть мне нужно настраивать все с нуля? 🤔
Что ж, в некотором смысле это правда, но и недостаток. Использование управляемого хостинга, такого как WordPress.com, что означает, что я также заплатил за все управление серверной частью (программный стек и конфигурация сервера). Переход на автономный маршрут означает, что мне нужно будет делать все, или мне нужно?
Обычно зрелая платформа предоставляет какие-то предварительно настроенные пакеты. Здесь у меня есть Google Cloud Marketplace. Просто обычный поиск по ключевому слову «WordPress» выдает несколько вариантов. В моем случае я выбираю WordPress Certified by Bitnami и Automattic. Этот пакет бесплатный и сделает за меня большую часть конфигурации. Кроме того, этот пакет в некотором смысле является кроссплатформенным, поэтому у меня будет такой же опыт при переходе к другому облачному провайдеру, такому как Amazon Web Service (AWS).
Примечание, кажется, нет официального способа обновить установленный стек ни через GUI, ни через SSH. Мне нужно удалить виртуальную машину и создать новый экземпляр, используя последний пакет Bitnami.
Что мне нужно настроить вручную? 🤔
Вот некоторые из них, чтобы рассмотреть.
- Настройка спецификации виртуальной машины.
- Настройка домена, настройка IP, DNSSEC.
- Настройка SSL.
- Настройка HTTP/2. По умолчанию используется конфигурация HTTP/1.1.
Шаг 1: как насчет конфигурации ВМ? 🤔
Используя конфигурацию, указанную на бесплатном уровне, я использую
- Зона:
us-west1-a
- Тип машины:
e2-микро
- Загрузочный диск: 30 Гб, HDD
Остальные настройки установлены по умолчанию. Примите условия обслуживания и перейдите к созданию экземпляра. Это может занять несколько минут. После его завершения теперь я могу войти в систему администратора WordPress, используя предоставленный внешний IP-адрес виртуальной машины.
Это самостоятельный хостинг, поэтому у меня есть все функции обычного приложения WordPress. Плагины теперь можно использовать. Некоторых специфических функций, реализованных на WordPress.com, здесь не будет, я полагаю, это проприетарные функции?
Шаг 2: как сохранить статический IP-адрес и настроить доменное имя? 🤔
- По умолчанию IP-адрес GCE является эфемерным, то есть он будет меняться после каждого сброса. Мне нужен статический IP-адрес, чтобы мой домен мог постоянно указывать на правильное местоположение. Для этого перейдите в раздел Сеть VPC/Внешние IP-адреса и зарезервируйте статический IP-адрес для экземпляра GCE.
- Мне нужно зарегистрировать доменное имя. У большинства регистраторов доменов также есть службы DNS. Затем я настроил свой домен так, чтобы он указывал на статический IP-адрес GCE. Это только начальная конфигурация.
На странице Cloudflare DNS есть инструкция по настройке DNSSEC. Настройка довольно проста, в основном просто копирование и вставка значений.
Шаг 3: как настроить SSL-сертификат? 🤔
На данный момент мой сайт небезопасен из-за отсутствия SSL-сертификата. Есть 2 варианта:
- Покупка сертификата у вашего регистратора домена. Обычно в этом нет необходимости, если только вы не являетесь крупным клиентом, которому требуется надлежащее управление SSL и соответствие сотням доменов и поддоменов.
- Использование бесплатной сертификации Let's Encrypt SSL, которую можно зарегистрировать через SSH. Инструкцию можно посмотреть здесь. Примечание, несмотря на то, что инструкция находится на Amazon Web Service (AWS), это все же стек Bitnami, поэтому конфигурации такие же. Все целевые поддомены должны быть зарегистрированы, иначе это вызовет ошибку рукопожатия SSL в будущем (например, сопоставление
www
с не-www через запись CNAME).
Теперь вернитесь в Cloudflare и измените режим SSL на «Полный (строгий)». Ваш веб-сайт должен быть безопасным, и это можно проверить с помощью замка на панели браузера. Не забывайте, у Cloudflare есть еще много сервисов, и вы можете их тонко настроить по мере необходимости.
Шаг 4: как настроить HTTP/2? 🤔
HTTP/2 предоставляет еще несколько преимуществ по сравнению с протоколом HTTP/1.1. Более подробное обсуждение находится в [этой статье] (https://docs.bitnami.com/bch/apps/trac/administration/enable-http2-apache/) от Digital Ocean, другого крупного облачного провайдера. Наиболее важным, на мой взгляд, является улучшение скорости, и это можно увидеть с помощью теста Lighthouse.
У Bitnami есть [официальный документ] (https://docs.bitnami.com/bch/apps/trac/administration/enable-http2-apache/) по настройке сервера Apache с HTTP/2 (используется нашим пакетом Binami WordPress).
Поддержку HTTP/2 можно протестировать с помощью [Ключевого сайта CDN] (https://tools.keycdn.com/http2-test), и, похоже, у меня все получилось.
Почему я вижу небольшое списание в отчетах по счетам? Я думал это должно быть бесплатно? 🤔
Да, установка бесплатна, если я остаюсь в рамках предоставленной квоты. Как показано на графике ниже, на моем экземпляре вычислительного движка был некоторый заряд. Я не нашел основной причины, но полагаю, что это связано с исходящим трафиком в Китай или Австралию (небесплатные исходящие направления). После нескольких небольших всплесков он снова возвращается к нулю. Возможно, блокировка IP-адресов — это выбор, если вы не обслуживаете клиентов в этих регионах.
Заканчиваем 🍀
На этот раз я узнаю еще один способ сэкономить деньги, а также есть шанс поиграть с сервисом GCE. Конечно, есть еще много задач, прежде чем рассматривать запуск приложения в производство, однако я могу перенести старый сайт на GCE, используя [All-in-One WP Migration] (https://wordpress.org/plugins/all-in- one-wp-migration/), так что делать особо нечего.
Я бы сказал, неожиданный, но важный урок о плате за «бесплатный» инстанс GCE. Это означает, что мне нужно внимательно следить за выставлением счетов при любых обстоятельствах. На данный момент кажется, что GCP не имеет возможности отключать службы, когда сумма счета превышает пороговое значение. К счастью, это не 1000 долларов на меня.
Статья также была опубликована на hungvu.tech.
Оригинал