JavaRush /Курси /Модуль 4: FastAPI /Встановлення RabbitMQ і його базова налаштування

Встановлення RabbitMQ і його базова налаштування

Модуль 4: FastAPI
Рівень 12 , Лекція 2
Відкрита

Перш ніж нирнути в світ повідомлень, нам треба правильно налаштувати все залізо. RabbitMQ можна встановити практично на будь-яку популярну платформу. Розглянемо кроки встановлення для операційних систем Linux, macOS і Windows. Але передусім, переконайтеся, що на вашій машині встановлений Erlang, бо RabbitMQ від нього залежить.

Встановлення RabbitMQ на Linux

Для початку, якщо ви користуєтеся Ubuntu або Debian, можна встановити RabbitMQ таким чином:


# Крок 1. Встановлення Erlang
sudo apt update
sudo apt install -y erlang

# Крок 2. Встановлення RabbitMQ
sudo apt install -y rabbitmq-server

# Крок 3. Запуск RabbitMQ
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server

Перевірте, чи працює RabbitMQ, використовуючи таку команду:


sudo systemctl status rabbitmq-server

Якщо замість зеленого напису Active ви бачите помилку, не панікуйте. Можливо, ви пропустили встановлення Erlang або не оновили пакети.


Встановлення RabbitMQ на macOS

Користувачам macOS доведеться скористатися магією Homebrew! Якщо у вас ще немає Homebrew, спочатку встановіть його:


/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Тепер встановимо RabbitMQ:


# Крок 1. Встановлення Erlang
brew install erlang

# Крок 2. Встановлення RabbitMQ
brew install rabbitmq

# Крок 3. Запуск RabbitMQ
brew services start rabbitmq

Щоб перевірити, що все встановилося коректно, виконайте:


brew services list

Якщо RabbitMQ відображається як "started", вітаю — все налаштовано! Інакше подивіться логи (/usr/local/var/log/rabbitmq).


Встановлення RabbitMQ на Windows

Користувачі Windows, не бійтеся! RabbitMQ чудово працює і на вашій платформі. Скачайте інсталяційний файл RabbitMQ, а також встановіть Erlang з офіційного сайту.

Після встановлення запускайте RabbitMQ як службу (сервер), використовуючи Windows Services або командний рядок:


rabbitmq-server.bat

Ця команда запустить RabbitMQ, і ви зможете переходити до його налаштування.


Базова налаштування сервера RabbitMQ

Після успішної установки RabbitMQ потребує невеликої налаштування, щоб стати повноцінним брокером повідомлень.

  1. Увімкнення веб-інтерфейсу управління

    RabbitMQ має зручну панель управління, яку потрібно активувати після інсталяції. Для цього виконайте таку команду (на будь-якій платформі):

    
    rabbitmq-plugins enable rabbitmq_management
    

    Тепер веб-інтерфейс доступний за адресою http://localhost:15672.

    🔒 За замовчуванням ваш логін і пароль: guest/guest. Але це підходить тільки для локальної розробки. На продакшені такі дані потрібно змінювати (про це поговоримо нижче).

  2. Створення нового користувача

    Для безпеки радимо створити окремого користувача для роботи з RabbitMQ. Приклад налаштування нового користувача:

    
    # Створити користувача з логіном "admin" і паролем "supersecurepassword"
    rabbitmqctl add_user admin supersecurepassword
    
    # Призначити йому теги адміністратора
    rabbitmqctl set_user_tags admin administrator
    
    # Наділити користувача всіма правами
    rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
    

    Тепер ви можете зайти в панель управління як "admin".

  3. Керування exchanges і queues

    У веб-інтерфейсі ви побачите кілька вкладок:

    • Overview (Огляд): для моніторингу стану.
    • Exchanges (Обміни): місце, куди producers відправляють повідомлення.
    • Queues (Черги): тут consumers підписуються і отримують повідомлення.

    Перед тим як працювати з чергами, переконайтеся, що ви розумієте принципи маршрутизації (про це ми говорили в попередній лекції).

  4. Налаштування прав доступу

    Щоб обмежити дії різних користувачів, можна налаштувати права доступу для конкретних вузлів. Наприклад:

    
    # Дозволити користувачу "developer" тільки читання певної черги
    rabbitmqctl set_permissions -p / developer "^my-queue$" "" ".*"
    

Командний рядок RabbitMQ

RabbitMQ надає CLI для управління сервером. Ось кілька корисних команд, які стануть у пригоді:

  1. Перевірка статусу:
    
    rabbitmqctl status
    

    Переконайтеся, що сервер працює і всі компоненти активні.

  2. Список користувачів:
    
    rabbitmqctl list_users
    
  3. Список черг:
    
    rabbitmqctl list_queues
    
  4. Видалення черги:
    
    rabbitmqctl delete_queue my-queue
    
  5. Моніторинг з'єднань:
    
    rabbitmqctl list_connections
    

Якщо хочете автоматизувати управління RabbitMQ, створіть скрипт, який викликатиме ці команди.


Основні помилки при налаштуванні RabbitMQ

Іноді налаштування RabbitMQ перетворюються на справжній квест. Ось кілька поширених проблем і рішень:

  • Не встановлений Erlang або неправильно налаштований: переконайтеся, що версія Erlang сумісна з вашою версією RabbitMQ.
  • Помилка доступу до веб-інтерфейсу: перевірте, чи увімкнений плагін Management і чи відкритий порт 15672.
  • "guest" не може зайти віддалено: це умисний захід безпеки. При доступі не з localhost використовуйте іншого користувача.
  • Проблеми з правами: можливо, ви забули надати вказаному користувачу потрібні права.

У разі виникнення помилок завжди перевіряйте лог-файли RabbitMQ. Зазвичай вони знаходяться в директорії /var/log/rabbitmq або в C:\Program Files\RabbitMQ Server\.


Перевірка працездатності RabbitMQ

Після встановлення і налаштування сервера давайте перевіримо, чи працює RabbitMQ. Веб-інтерфейс має бути доступний за адресою http://localhost:15672. Залогіньтеся своїм користувачем і переконайтеся, що сервер активний.

Додатково можна запустити тестовий producer і consumer (як бонус покажемо це в наступних лекціях!) для перевірки функціональності.


Тепер ви знаєте, як встановити і налаштувати RabbitMQ на вашому комп'ютері. У наступній лекції ми зануримося в практичну частину — створимо producers, які будуть відправляти повідомлення в чергу. Готуйтеся: далі ми почнемо розробляти асинхронний застосунок!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ