Краткий обзор настройки WordPress в Docker с использованием EasyEngine в облаке или VPS.

За последние несколько лет Docker продемонстрировал отличный рост и продолжает расти. Оно повсюду – от стартапа до предприятия.

У Docker есть несколько крутых преимуществ перед традиционными виртуальными машинами, но в этой статье речь пойдет не об этом. Если вы заинтересованы в углубленном обучении, я бы порекомендовал пройти этот онлайн-курс.

Вернемся к теме…

Итак, вы знаете или слышали о преимуществах Docker и хотите попробовать использовать его для WordPress. Технически, есть много способов сделать это, но давайте рассмотрим EasyEngine , который облегчает жизнь.

Я тестировал его в Google Cloud, но технически он должен работать на любом облачном хостинге, таком как DigitalOcean, Linode, AWS, Alibaba Cloud.

Мой экземпляр Google Cloud готов.

экземпляр облака Google

и вошёл в систему как root

вход в облако Google

EasyEngine — это автоматизированный скрипт, который необходимо установить на сервер, на котором вы хотите создать сайт WordPress. Итак, давайте установим его с помощью следующих команд.

Примечание. EasyEngine пока не работает на CentOS, поэтому вам придется использовать либо Debian, либо Ubuntu.

wget -qO ee rt.cx/ee4 && sudo bash ee

Установка необходимых компонентов, включая Docker, займет несколько минут, и вы должны увидеть следующую информацию, прежде чем она вернется к подсказке.

Статус: Загружен новый образ для easyengine/redis:v4.0.0 +——————-+—————- ————————————————— —————-+ | ОС | Linux 4.15.0-1025-gcp #26~16.04.1-Ubuntu SMP Ср, 21 ноября 10:13:20 UTC 2018 x86_64 | | Шелл | /бин/баш | | Бинарный PHP | /usr/bin/php7.2 | | PHP-версия | 7.2.13-1+ubuntu16.04.1+deb.sury.org+1 | | php.ini используется | /etc/php/7.2/cli/php.ini | | Корневой каталог EE | фар://ee.phar | | Директор поставщика EE | фар://ee.phar/vendor | | EE фар путь | /корень | | EE пакеты реж | | | Глобальная конфигурация EE | | | Конфигурация проекта EE | | | ЭЭ-версия | 4.0.6 | +——————-+—————————— ————————————————— —+ ——> Запустите «ee help site», чтобы получить дополнительную информацию о том, как создать сайт.

Это означает, что EasyEngine установлен и готов к использованию для создания сайта. Это зависит от требований, и вы можете создать несколько типов сайтов.

Бывший:

  • Просто HTML-сайт
  • Сайт WordPress без кэширования и дополнительных функций
  • Создать сайт на базе PHP с базой данных
  • Сайт с самоподписанным или SSL-сертификатом Let’s Encrypt
  • Многосайтовые сайты WordPress
  • Сайт WP в поддомене или подкаталоге
  • Сайт WP с кешем Redis

Видите ли, существует несколько комбинаций, и вы всегда можете обратиться к их официальной документации. А пока давайте создадим сайт WP с помощью Redis .

ee сайт создать geekflarelab.com —type=wp —cache

Выше я прошу EasyEngine создать сайт WP для geekflarelab.com и использовать кеш. Это займет несколько секунд, и вы должны увидеть подтверждение успеха, как показано ниже.

root@geekflare-lab:~# ee site create geekflarelab.com —type=wp —cache Настройка проекта. Создание сайта WordPress geekflarelab.com Копирование файлов конфигурации. Запуск сервисов сайта. Скачиваем и настраиваем WordPress. Успех: запись хоста успешно добавлена. Проверка и подтверждение статуса сайта. Это может занять некоторое время. Установка сайта WordPress. Успех: http://geekflarelab.com успешно создан! Запись на сайте создана. Создание записи cron. Успех: Cron успешно создан +———————+——————— ———————+ | Сайт | http://geekflarelab.com | +———————+—————————- ————+ | Корень сайта | /opt/easyengine/sites/geekflarelab.com | +———————+—————————- ————+ | Название сайта | geekflarelab.com | +———————+—————————- ————+ | Имя пользователя WordPress | ошеломленный-маргулис | +———————+—————————- ————+ | Пароль WordPress | хххххххххх | +———————+—————————- ————+ | Хост БД | глобальная БД | +———————+—————————- ————+ | Имя БД | geekflarelab_com | +———————+—————————- ————+ | Пользователь БД | geekflarelab.com-bNmEbX | +———————+—————————- ————+ | Пароль БД | хххххххххх | +———————+—————————- ————+ | Электронная почта | admin@geekflarelab.com | +———————+—————————- ————+ | SSL | Не включено | +———————+—————————- ————+ | Кэш | Включено | +———————+—————————- ————+ root@geekflare-lab:~#

Вы видите, как быстро можно запустить ваш сайт в облаке?

geekflarelab-e1544957015635

Большой!

Давайте проверим, какой механизм кэширования используется.

Easyengine-Redis

и, как видите, WP Redis устанавливается вместе с созданием сайта.

WP работает внутри докера, но вам не нужно ничего для этого делать, так как все управляется скриптами EasyEngine. Большую часть времени вы будете взаимодействовать с ee-скриптами. Однако, если вы хотите изучить службы, работающие внутри докера, вы можете проверить следующее.

Процессы внутри докера

docker ps покажет все запущенные службы.

root@geekflare-lab:~# docker ps ИДЕНТИФИКАТОР КОНТЕЙНЕРА КОМАНДА СОЗДАЛА СТАТУС ИМЕНА ПОРТОВ 6f16b878d548 easyengine/cron:v4.0.0 «/usr/bin/ofelia dae…» 23 минуты назад Up 23 минуты ee-cron-scheduler 18b7d9b4b8ac easyengine/ nginx:v4.0.0 «/usr/bin/openresty …» 24 минуты назад Up 24 минуты 80/tcp geekflarelabcom_nginx_1 5e36d6998bba easyengine/postfix:v4.0.0 «postfix start-fg» 24 минуты назад Up 24 минуты 25/tcp geekflarelabcom_postfix_1 9fba9f5a2c77 EasyEngine /php:v4.0.0 «docker-entrypoint.s…» 24 минуты назад Up 24 минуты 9000/tcp geekflarelabcom_php_1 d022dd6635d3 easyengine/mariadb:v4.0.0 «docker-entrypoint.s…» 24 минуты назад Up 24 минуты 3306/tcp ee -global-db 5c29ba40fa06 easyengine/redis:v4.0.0 «docker-entrypoint.s…» 24 минуты назад Up 24 минуты 6379/tcp ee-global-redis cae69382b545 easyengine/nginx-proxy:v4.0.1 «/app/docker- входпо…» 15 часов назад Up 35 минут 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp ee-global-nginx-proxy

Как видите, Nginx, PHP, MariaDB, Redis, Nginx и т. д. — все работают внутри докера.

Память, ввод-вывод, статистика процессора

Docker Stats предоставит вам статистику использования в реальном времени.

ИДЕНТИФИКАТОР КОНТЕЙНЕРА НАЗВАНИЕ ЦП % ИСПОЛЬЗОВАНИЕ ПАМЯТИ/ОГРАНИЧЕНИЕ ПАМЯТИ % NET I/O BLOCK I/O PIDS 6f16b878d548 ee-cron-scheduler 0,10% 6,246 МБ / 1,65 ГБ 0,37% 1,82 КБ / 0B 582 КБ / 0B 7 18b7d9b4b8ac geek Flarelabcom_nginx_1 0,00% 4,316МБ / 1,65 ГБ 0,26% 3,94 МБ / 3,74 МБ 0B / 0B 2 5e36d6998bba geekflarelabcom_postfix_1 0,00% 4,59 МБ / 1,65 ГБ 0,27% 2,32 КБ / 688B 3 МБ / 0B 4 9fba9f5a2c77 geekfla relabcom_php_1 0,00% 12,86 МБ / 1,65 ГБ 0,76% 38,4 МБ / 7,11 МБ 18,3 МБ / 180 КБ 1 d022dd6635d3 ee-global-db 0,05% 97,02 МБ / 1,65 ГБ 5,74% 1,71 МБ / 1,75 МБ 59,7 МБ / 98,8 МБ 32 5c29ba40fa06 ee-global-redis 0,12% 2,48 МБ / 1,65 ГиБ 0,15% 3,31 МБ / 23,1 МБ 7,11 МБ/0Б 4 cae69382b545 ee-global-nginx-proxy 0,11% 8,988МБ/1,65ГБ 0,53% 2,95МБ/3,2МБ 23,2МБ/53,2КБ 19

Расположение журналов

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

Nginx и PHP – /opt/easyengine/sites/$SITENAME/logs

EE хорошо структурирован, и если вам интересно узнать больше, я бы порекомендовал просмотреть их справочник. Запускать WordPress внутри Docker теперь легко!

Если вы не хотите самостоятельно управлять сервером WP, оптимизацией и безопасностью, вы можете попробовать Kinsta, которая позаботится обо всем за вас, чтобы вы могли сосредоточиться на своем основном бизнесе.

Источник