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

Обзор развертывания LEMP на сервере

Предварительные требования

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

  • Операционная система: Ubuntu.

  • Права доступа: права суперпользователя (root) для установки системных пакетов и управления Docker.

  • Сетевые настройки: доступ к интернету для загрузки образов контейнеров.

FDQN итоговой панели на домене hostkey.in

Параметр Значение
Префикс lamp
Домен hostkey.in
Полный шаблон lamp{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

В системе создаются следующие директории для хранения данных и веб-контента:

  • /root/data — хранилище баз данных MySQL.

  • /root/webroot — корневая директория веб-сервера (исходные файлы сайта).

  • /data/nginx/user_conf.d — пользовательские конфигурации Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для управления SSL-сертификатами.

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

Процесс развертывания включает в себя следующие этапы:

  1. Установка среды Docker в операционную систему.

  2. Создание необходимых директорий для данных и веб-контента с правами доступа 0755.

  3. Загрузка образа LEMP версии 8.3 из реестра Docker Hub.

  4. Создание изолированной сети Docker под названием lemp-net.

  5. Развертывание основного контейнера приложения со всеми необходимыми настройками.

Контейнеры Docker и их запуск

Приложение функционирует в среде Docker с использованием следующих компонентов:

Основной стек LEMP

Контейнер обеспечивает работу веб-сервера, PHP и баз данных (MySQL).

  • Имя образа: adhocore/lemp:8.3

  • Имя контейнера: lemp-stack

  • Порты:

  • 88:80 (HTTP)

  • 3306:3306 (MySQL)

  • 5432:5432 (PostgreSQL)

  • Тома (volumes):

  • /root/data:/var/lib/mysql — база данных.

  • /root/webroot:/var/www/html — веб-файлы.

  • Переменные окружения: MYSQL_ROOT_PASSWORD (устанавливается автоматически).

  • Политика перезапуска: always.

Прокси-сервер и SSL

Для обеспечения работы HTTPS используется вспомогательный контейнер для управления сертификатами через Certbot.

  • Имя образа: jonasal/nginx-certbot:latest

  • Режим сети: host (использует сетевой стек хоста).

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt — хранилище SSL-сертификатов.

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d — пользовательские конфигурации Nginx.

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com.

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

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

  1. Загрузить актуальные образы:

    docker pull adhocore/lemp:8.3
    

  2. Перезапустить контейнер для применения изменений:

    docker compose up -d
    
    (Примечание: если используется прямой запуск через docker run, необходимо остановить и удалить старый контейнер перед запуском нового).

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

Тип данных Путь на хосте Путь в контейнере
Базы данных MySQL /root/data /var/lib/mysql
Веб-контент /root/webroot /var/www/html
Конфигурации Nginx /data/nginx/user_conf.d /etc/nginx/user_conf.d

Доступные порты для подключения

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

  • 88 — доступ к веб-интерфейсу (HTTP).

  • 443 — защищенное соединение (HTTPS).

  • 3306 — подключение к базе данных MySQL.

  • 5432 — подключение к базе данных PostgreSQL.

Запуск, остановка приложения

Управление основным контейнером осуществляется следующими командами:

  • Запуск: docker start lemp-stack

  • Остановка: docker stop lemp-stack

  • Просмотр статуса: docker ps -a | grep lemp-stack

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×