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

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

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

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

  • Операционная система: Ubuntu (рекомендуется).

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

  • Доменное имя: Наличие домена, направленного на IP сервера.

  • Порты:

  • 80 (HTTP) — для проверки SSL и перенаправления;

  • 443 (HTTPS) — основной порт доступа к приложению;

  • 7080 (внутренний) — для взаимодействия OpenLiteSpeed с прокси.

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

Для обеспечения работы SSL-сертификатов используется следующий шаблон доменного имени:

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

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

Развертывание представляет собой комбинированный метод, включающий установку системных пакетов и контейнеризацию прокси-сервера:

  1. Установка базовых компонентов:

  2. Устанавливаются инструменты curl, wget и gnupg.

  3. Настройка OpenLiteSpeed:

  4. Добавляется официальный репозиторий LiteSpeed.

  5. Устанавливается пакет openlitespeed.

  6. Запускается и активируется сервис lsws.

  7. Установка среды выполнения Node.js:

  8. Подключается репозиторий NodeSource для версии 20.x.

  9. Устанавливается пакет nodejs.

  10. Настройка Docker и SSL:

  11. Устанавливается среда Docker (engine, cli, containerd, compose plugin).

  12. Настраиваются зеркала реестров в /etc/docker/daemon.json для ускорения загрузки образов.

  13. Развертывается контейнер Nginx с поддержкой автоматического получения и обновления SSL-сертификатов через Certbot.

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

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

Параметр Значение
Имя образа jonasal/nginx-certbot:latest
Режим сети host
Политика перезапуска unless-stopped
Переменные окружения CERTBOT_EMAIL=hkadm@hostkey.com, RENEWAL_INTERVAL=8d

Тома (Volumes):

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

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

  • /data/nginx/letsencrypt:/var/www/letsencrypt — директория для проверки Certbot (acme-challenge).

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия:

  • Настройка учетных данных WebAdmin: Выполняется скрипт /usr/local/lsws/admin/misc/admpass.sh для установки логина admin и заданного пароля для панели управления OpenLiteSpeed.

  • Конфигурация Nginx: Создается конфигурационный файл, который проксирует трафик с порта 443 на внутренний порт приложения 7080, обеспечивая поддержку WebSocket (через заголовки Upgrade и Connection).

  • Валидация SSL: После запуска контейнера выполняется проверка корректности конфигурации Nginx (nginx -t) и тестовое обновление сертификатов Certbot.

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

Тип данных Путь к файлу / директории
Конфигурация Docker /etc/docker/daemon.json
Конфигурация Nginx (Compose) /root/nginx/compose.yml
Конфигурации виртуальных хостов /data/nginx/user_conf.d/
Данные SSL (Certbot) /data/nginx/letsencrypt/
Секреты сертификатов в Docker nginx_secrets (external volume)

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

  • 443 — HTTPS доступ к приложению.

  • 80 — HTTP (автоматический редирект на 443).

  • 7080 — Внутренний порт OpenLiteSpeed (используется внутри сервера).

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