Перейти к содержанию

Обзор развертывания 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.

Процесс установки приложения

Развертывание выполняется путем автоматической настройки системы и запуска контейнеров:

  1. Подготовка файловой структуры: создание необходимых директорий в /data и /root.

  2. Настройка окружения: создание конфигурационных файлов для работы SSL-сертификатов.

  3. Генерация веб-сервера: создание конфигурационного файла Nginx с привязкой к домену.

  4. Запуск контейнеров: развертывание инфраструктуры через 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, что обеспечивает сохранность при перезапуске контейнера.

Инструкция по обновлению приложения

Для обновления компонентов приложения необходимо выполнить следующие действия:

  1. Перейти в директорию с файлом конфигурации:

    cd /root/wordpress
    

  2. Обновить образы и перезапустить контейнеры:

    docker compose pull && docker compose up -d
    

Расположение конфигурационных файлов и данных

  • Конфигурация 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)
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×