Обзор развертывания WordPress на сервере¶
Предварительные требования¶
Для успешного функционирования приложения необходимы следующие условия:
-
Операционная система: Linux.
-
Установленный Docker и Docker Compose.
-
Доступ к интернету для загрузки образов и получения SSL-сертификатов.
-
Открытые порты:
80(HTTP) и443(HTTPS).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | wp |
| Домен | hostkey.in |
| Полный шаблон | wp{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Все данные приложения и конфигурации распределены по следующим директориям:
-
/data/wordpress— файлы сайта WordPress (контент). -
/data/nginx/user_conf.d/— конфигурационные файлы веб-сервера Nginx. -
/data/nginx/nginx-certbot.env— переменные окружения для SSL. -
/root/wordpress/compose.yml— файл управления контейнерами Docker Compose.
Процесс установки приложения¶
Развертывание выполняется путем автоматической настройки системы и запуска контейнеров:
-
Подготовка файловой структуры: создание необходимых директорий в
/dataи/root. -
Настройка окружения: создание конфигурационных файлов для работы SSL-сертификатов.
-
Генерация веб-сервера: создание конфигурационного файла Nginx с привязкой к домену.
-
Запуск контейнеров: развертывание инфраструктуры через
docker composeв директории/root/wordpress.
Контейнеры Docker и их запуск¶
Приложение работает в составе трех контейнеров, управляемых через docker compose:
mariadb¶
-
Образ:
docker.io/bitnami/mariadb:latest -
Политика перезапуска:
unless-stopped -
Тома (volumes):
mariadb_data:/bitnami/mariadb -
Переменные окружения: Настройки пользователя, базы данных и паролей для доступа к БД.
wordpress¶
-
Образ:
docker.io/wordpress:php8.2-fpm -
Политика перезапуска:
unless-stopped -
Порты:
127.0.0.1:9000:9000(доступен только локально для Nginx) -
Тома (volumes):
/data/wordpress:/var/www/html -
Зависимости: Запуск после контейнера
mariadb.
nginx¶
-
Образ:
jonasal/nginx-certbot:latest -
Политика перезапуска:
unless-stopped -
Режим сети:
host(использует сетевой стек хоста) -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt(хранение сертификатов) -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d(конфигурации сайта) -
/data/wordpress:/var/www/html(доступ к файлам сайта) -
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com.
Базы данных¶
База данных развернута в контейнере mariadb.
-
Имя базы данных:
wordpress -
Пользователь:
wordpress -
Место хранения: Данные сохраняются в именованном томе
mariadb_data, что обеспечивает сохранность при перезапуске контейнера.
Инструкция по обновлению приложения¶
Для обновления компонентов приложения необходимо выполнить следующие действия:
-
Перейти в директорию с файлом конфигурации:
-
Обновить образы и перезапустить контейнеры:
Расположение конфигурационных файлов и данных¶
-
Конфигурация Nginx:
/data/nginx/user_conf.d/wp{Server_ID}.hostkey.in.conf -
Данные сайта:
/data/wordpress -
Файл управления Docker:
/root/wordpress/compose.yml
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
80 | HTTP | Стандартный веб-трафик и проверка SSL |
443 | HTTPS | Зашифрованный веб-трафик (SSL) |