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