Skip to content

Установка и настройка RabbitMQ

Установка RabbitMQ

shell
apt-get install curl gnupg apt-transport-https -y
shell
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
shell
curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf77f1eda57ebb1cc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg > /dev/null
shell
curl -1sLf "https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.packagecloud.rabbitmq.gpg > /dev/null
  1. Создать файл /etc/apt/sources.list.d/rabbitmq.list
text
deb [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu jammy main
deb [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ jammy main
deb-src [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ jammy main
shell
apt-get update -y
  1. Установка необходимых пакетов
shell
apt-get install -y erlang-base \
    erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
    erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
    erlang-runtime-tools erlang-snmp erlang-ssl \
    erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
  1. Установка rabbitmq-server и зависимостей
shell
apt-get install rabbitmq-server -y --fix-missing
  1. Проверка установки
shell
systemctl status rabbitmq-server

Check rabbitmq-server

  1. Активация плагина управления
shell
rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@Becquerel:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@Becquerel...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

Теперь панель управления доступна по адресу http://your-server-ip:15672, например, http://37.9.13.50:15672/

Базовый доступ на localhost guest:guest

Настройка доступа RabbitMQ

Для доступа к панели управления рекомендуется настроить доступ администратора.

  1. Создадим нового пользователя
shell
rabbitmqctl add_user {username} {password}
  1. Выдадим права администратора
shell
rabbitmqctl set_user_tags {username} administrator
  1. Список всех пользователей
shell
rabbitmqctl list_users
text
Listing users ...
user	tags
guest	[administrator] - доступ только с localhost
dev	[administrator] - доступ к панели управления

Создание виртуального хоста

По умолчанию создан один виртуальный хост "/". Для удобства создадим новый отдельный виртуальный хост

shell
rabbitmqctl add_vhost {hostname}

Просмотр всех хостов

shell
rabbitmqctl list_vhosts

Утановка прав пользователя на созданный хост

shell
sudo rabbitmqctl set_permissions -p {hostname} {username} ".*" ".*" ".*"