Обзор развертывания RabbitMQ на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры системы:
-
Операционная система: Ubuntu.
-
Права доступа: Пользователь
root. -
Доменное имя: Используется поддомен в зоне
hostkey.in. -
Порты:
-
Внутренний порт управления (Management):
15672(доступен только локально). -
Внешний порт для доступа через прокси:
443.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу управления используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | rabbitmq |
| Домен | hostkey.in |
| Полный шаблон | rabbitmq{Server_ID}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя установку системных пакетов и настройку сервиса:
-
Обновление системы: Выполняется обновление кэша пакетов
apt. -
Установка RabbitMQ: Устанавливается пакет
rabbitmq-serverчерез менеджер пакетовapt. -
Настройка окружения:
-
Создается директория
/etc/rabbitmq. -
В файл
/etc/rabbitmq/rabbitmq-env.confзаписывается конфигурация, привязывающая имя узла кlocalhost(NODENAME=rabbit@localhost) для корректной работы в сетевых окружениях. -
Настройка плагинов: Активируется плагин управления
rabbitmq_management. -
Конфигурация интерфейса управления:
-
Создается файл
/etc/rabbitmq/rabbitmq.conf, который ограничивает прослушивание порта управления только локальным интерфейсом127.0.0.1:15672. -
Настройка прав доступа:
-
Создается администратор с именем
root(пароль берется из системных учетных данных). -
Администратору назначаются права
administrator. -
Создается виртуальный хост
/и администратору предоставляются полные права на него.
Контейнеры Docker и их запуск¶
Для обеспечения работы SSL через прокси используется контейнер Docker:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим сети | host |
| Политика перезапуска | unless-stopped |
| Переменная окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
| Тома (Volumes) | nginx_secrets:/etc/letsencrypt/data/nginx/user_conf.d:/etc/nginx/user_conf.d |
Контейнер использует внешний том nginx_secrets для хранения сертификатов и проксирует запросы на локальный порт приложения 127.0.0.1:15672.
Инструкция по обновлению приложения¶
Для обновления основного компонента RabbitMQ необходимо обновить системные пакеты через менеджер пакетов:
Если требуется перезапуск сервиса после изменений в конфигурации:
Расположение конфигурационных файлов и данных¶
-
/etc/rabbitmq/— основные файлы конфигурации RabbitMQ. -
/etc/rabbitmq/rabbitmq-env.conf— настройки окружения узла. -
/etc/rabbitmq/rabbitmq.conf— параметры управления (management). -
/root/nginx/compose.yml— файл конфигурации Docker Compose для прокси-сервера. -
/data/nginx/user_conf.d/— директория с конфигурациями Nginx и SSL.
Доступные порты для подключения¶
| Порт | Назначение | Доступность |
|---|---|---|
15672 | RabbitMQ Management UI | Только локально (localhost) |
443 | HTTPS интерфейс управления | Внешний доступ через прокси |