RabbitMQ - это сервер очередей, который позволяет работать с сообщениями по протоколу AMQP (Advanced Message Queuing Protocol). Кроме того, может использоваться несколько других протоколов с помощью плагинов. Чаще всего RabbitMQ используется в качестве брокера текстовых сообщений.
Он получает сообщения, от программ, которые их генерируют и доставляет в программы, которые готовы их получать. Сам сервер написан на Erlang. В этой статье мы рассмотрим как установить RabbitMQ в Ubutntu 20.04.
Содержание статьи
Установка RabbitMQ в Ubuntu 20.04
1. Добавление ключей в систему
Сначала необходимо добавить в систему все ключи, которые используются для подписи репозиториев с Erlang и RabbitMQ. Если в системе не установлена утилита curl и gnupg, установите:
sudo apt install curl gnupg -y
Для добавления ключей выполните такие команды:
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
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg > /dev/null
2. Добавление репозиториев
Для работы с репозиториями необходимо установить пакет apt-transport-https:
sudo apt install apt-transport-https
Создайте файл /etc/apt/sources.list.d/rabbitmq.list и добавьте в него сначала репозитории Erlang:
sudo vi /etc/apt/sources.list.d/rabbitmq.list
Затем репозитории RabbitMQ:
После сохранения изменений не забудьте обновить списки пакетов в репозиториях:
sudo apt update -y
3. Установка erlang
Для установки всех необходимых пакетов erlang выполните:
sudo apt 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
После установки можно убедится что всё прошло успешно выполнив:
erl
Для того чтобы выйти из консоли нажмите Ctrl+C и следуйте инструкции.
4. Установка RabbitMQ
Для установки RabbitMQ необходимо выполнить команду:
sudo apt-get install rabbitmq-server -y --fix-missing
Затем проверьте что сервер запущен и работает:
sudo systemctl status rabbitmq-server
И если это необходимо, то добавьте его а автозагрузку:
sudo systemctl enable rabbitmq-server
После этого установка RabbitMQ Ubuntu завершена.
5. Веб интерфейс
Если вы хотите иметь доступ к веб-интерфейсу RabbitMQ его тоже необходимо включить. Для этого выполните:
sudo rabbitmq-plugins enable rabbitmq_management
Получить доступ к веб-интерфейсу можно по адресу http://адрес_сервера:15672, для localhost это будет http://localhost:15672. По умолчанию логин и пароль для доступа - guest:guest. Но эти данные доступа работают только для localhost. Если вам необходимо подключиться удалённо, то нужно создать нового пользователя. Например, давайте создадим пользователя admin:
sudo rabbitmqctl add_user admin сложный_пароль
Для того чтобы сделать только что созданного пользователя администратором выполните такую команду:
sudo rabbitmqctl set_user_tags admin administrator
Кроме того, этому пользователю необходимо дать доступ к RabbitMQ:
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
После завершения настройки вы сможете авторизоваться в веб-интерфейсе программы от имени только что созданного пользователя:
Установка RabbitMQ с помощью Docker
Если вы хотите попробовать RabbitMQ на рабочей машине, то лучше всего для этого будет использовать Docker. Для запуска контейнера с RabbitMQ достаточно выполнить такую команду:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
Выводы
В этой небольшой статье мы рассмотрели как выполняется установка RabbitMQ Ubuntu 20.04, а также как создать пользователя RabbitMQ и как войти в веб-интерфейс.
Если возникают проблемы с установкой libssl1.1 , то можно выполнить команды:
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1
как решить эту проблему plugins_not_found rabbitmq-management ?
А вот так разве не проще:
apt install rabbitmq-server
?