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

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

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

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

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

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

  • Порты:

  • Внутренний порт приложения: 3000.

  • Внешний порт (через прокси): 443 (HTTPS).

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

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

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

Основные пути к данным и конфигурациям:

  • /opt/solr/data — основное хранилище данных приложения.

  • /opt/solr/data/data — директория для системных файлов (включая security.json).

  • /root/nginx — рабочая директория для конфигурации прокси-сервера.

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

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

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

  1. Подготовка системы: Установка Docker и настройка среды для работы с SSL-сертификатами.

  2. Создание структуры данных: Создание директорий /opt/solr/data и поддиректории /opt/solr/data/data с установленными правами доступа (владелец 8983).

  3. Инициализация безопасности: Размещение файла конфигурации безопасности security.json в директории данных для обеспечения контроля доступа.

  4. Загрузка образа: Загрузка Docker-образа solr:9. Если прямой доступ к Docker Hub ограничен, система автоматически использует зеркала (например, https://dh-mirror.gitverse.ru).

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

  6. Настройка учетных записей: Автоматическая настройка администратора через API после запуска контейнера (установка пароля пользователя root).

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

Права доступа и безопасность

  • Для директорий данных Solr установлены специфические права: владелец — пользователь с UID/GID 8983, режим доступа 0755 для папок и 0640 для файла security.json.

  • Приложение использует механизм аутентификации через API для защиты административного интерфейса.

Базы данных

Apache Solr используется как поисковый движок, данные которого хранятся локально в директории /opt/solr/data.

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

В системе работают следующие контейнеры:

Apache Solr

  • Образ: solr:9

  • Порты: 3000 (в режиме host)

  • Тома: /opt/solr/data \(\rightarrow\) /var/solr

  • Переменные окружения: SOLR_PORT=3000

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

  • Режим сети: host

Nginx (Proxy)

  • Образ: jonasal/nginx-certbot:latest

  • Тома:

  • nginx_secrets:/etc/letsencrypt (для SSL)

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

  • Политика перезапуска: unless-stopped

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

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

docker compose pull && docker compose up -d

(Примечание: Команда выполняется в директории /root/nginx для обновления прокси или через управление контейнером Solr).

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

  • Конфигурация безопасности: /opt/solr/data/data/security.json.

  • Данные приложения: /opt/solr/data.

  • Конфигурации Nginx: /data/nginx/user_conf.d.

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

Порт Назначение
3000 Внутренний интерфейс Solr (доступен локально)
443 Внешний доступ через HTTPS (через Nginx)
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×