Установка RabbitMq на Debian / Ubuntu


Для начала стоит обновить систему, выполняем код

sudo apt-get update -y

Установить Erlang

  • Вар 1

    wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
    sudo apt-key add erlang_solutions.asc
  • Вар 2

    wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
    sudo dpkg -i erlang-solutions_1.0_all.deb
  • Устанавливаем сам Erlang

    sudo apt-get update -y
    sudo apt-get install erlang -y
    sudo apt-get install erlang-nox -y

Установить RabbitMQ

  • Добваляем актуальный репозиторий

    sudo echo 'deb http://www.rabbitmq.com/debian testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
  • Получаем кей и устанавливаем сервер

    wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install rabbitmq-server
  • При включенном брандмауэре UFW, тобы получить доступ к консоли удаленного управления RabbitMQ, вам необходимо разрешить входящий TCP-трафик на портах 4369, 5671, 5672, 25672, 15672, 15675, 61613, 61614, 1883, 15674.

    sudo ufw allow 4369
    sudo ufw allow 5671:5672
    sudo ufw allow 15672:15675
    sudo ufw allow 25672
    sudo ufw allow 61613:61614
    sudo ufw allow 1883
    sudo ufw allow 15674
    
  • Меняем ограничение на количество открытых файлов

    Открываем файл /etc/default/rabbitmq-server , находим строку с ulimit (расскоментируем) и выставляем значение

    ulimit -n 1024
  • Помечаем rabbitmq для автоматического запуска при перезагрузках

    sudo systemctl enable rabbitmq-server
  • Запускаем сервер

    sudo systemctl start rabbitmq-server
  • Ставим стандартные плагины

    sudo rabbitmq-plugins enable rabbitmq_management
  • Если все сделано верно, то вы получите доступ к админ панели http://ip-address:15672/

    По умолчанию создается сразу юзер guest с одноименным паролем. У него админский доступ по localhost. Рекомендую создать собственного пользователя, а guest удалить.

Управление

  • Управление службой

    # Старт
    sudo systemctl start rabbitmq-server
    # Стоп:
    sudo systemctl stop rabbitmq-server
    # Перезагрузка:
    sudo systemctl restart rabbitmq-server
    # Статус:
    sudo systemctl status rabbitmq-server
    
  • Управление сервером

    # Старт
    sudo rabbitmqctl start
    # Стоп:
    sudo rabbitmqctl stop
  • Управление юзерами

    # Добавить юзера
    sudo rabbitmqctl add_user cinder CINDER_PASS
    # Изменить пароль юзеру
    sudo rabbitmqctl change_password cinder NEW_PASS
    # Сделать юзера админом
    sudo rabbitmqctl set_user_tags cinder administrator
    # Выставить привелегии юзеру
    sudo rabbitmqctl set_permissions cinder ".*" ".*" ".*"
    # Просмотреть список привелегий
    sudo rabbitmqctl list_permissions