Site icon Блог cyber01

Как установить RabbitMQ в CentOS 7

RabbitMQ это широко используемый брокер сообщений с открытым исходным кодом, написан на языке программирования Erlang. Как message-oriented приложение, RabbitMQ может быть использован для работы с протоколом Advanced Message Queuing Protocol (AMQP) во всех современных операционных системах.

В этой статье я опишу как установить RabbitMQ в CentOS 7.

Исходные данные

Подключение репозитория EPEL

Выполните команду ниже, чтобы установить пакет epel-release и подключить репозиторий EPEL

yum install epel-release

Установка Erlang

Т.к. RabbitMQ написан на Erlang, нужно установить сам Erlang, чтобы вы могли использовать RabbitMQ.

Загрузим пакет, с помощью которого подключим репозиторий:

yum install http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

Теперь установим Erlang

yum install erlang

Проверим, что Erlang установился, выполните команду ниже

erl

В результате вы увидите сообщение о версии Erlang, чтобы выйти из консоли Erlang, используйте Ctrl+C

Установка RabbitMQ

Теперь установим RabbitMQ, он доступен в репозитории EPEL:

yum install rabbitmq-server

После установки, запустим RabbitMQ и добавим его в автозагрузку:

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Проверим, что RabbitMQ запустился, это можно сделать с помощью команды:

rabbitmqctl status

Теперь добавим исключения в правила межсетевого экрана (по умолчанию в CentOS 7 — firewalld).

Для нормального функционирования требуется только порт TCP 5672, но также рекомендую открыть порты 4369/tcp, 5671/tcp, 35672-35682/tcp (подробнее о предназначении этих (и других) портов будет описано ниже).

firewall-cmd --permanent --add-port=5671/tcp --add-port=5672/tcp --add-port=4369/tcp --add-port=35672-35682/tcp
firewall-cmd --reload

Отлично, RabbitMQ установили, а как управлять? Для этого нужно создать администратора, а также включить интерфейс управления.

Сначала подключим интерфейс управления, он доступен в качестве плагина, его можно активировать следующей командой:

rabbitmq-plugins enable rabbitmq_management

После этого интерфейс будет запущен на порту 15672/tcp, откроем его в межсетевом экране:

firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --reload

Создадим администратора, присвоим ему роль и права.

К примеру создадим администратора с именем «admin» и паролем «adminpass«

rabbitmqctl add_user admin adminpass

Присвоим ему роль администратора:

rabbitmqctl set_user_tags admin administrator

И дадим доступ ко всему, внутри RabbitMQ:

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

Теперь вы можете зайти в браузере на порт 15672 вашего сервера, авторизоваться и увидеть интерфейс управления.

В моем случае интерфейс доступен по адресу: http://192.168.1.55:15672

Подробнее о портах и их предназначении

Вот и всё 🙂

Exit mobile version