Поиск по сайту:

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


На этой странице

  1. Обновление базовой системы
  2. Установить Эрланг
  3. Установить RabbitMQ
  4. Запуск RabbitMQ
  5. Изменить правила брандмауэра и SELinux
  6. Доступ к веб-консоли
  7. Заключение

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

В этом руководстве мы установим RabbitMQ на сервер CentOS 7.

Предпосылка

  • Минимальный сервер CentOS 7
  • Привилегии root. Это руководство написано как пользователь root, если вы вошли в систему как пользователь sudo, запустите sudo -i.

Обновление базовой системы

Перед установкой любого пакета рекомендуется обновить пакеты и репозиторий с помощью следующей команды.

yum -y update

Как только ваша система будет обновлена, перейдите к установке Erlang.

Установить Эрланг

RabbitMQ написан на языке Erlang, в этом руководстве мы установим последнюю версию Erlang на сервер. Erlang недоступен в репозитории YUM по умолчанию, поэтому вам необходимо установить репозиторий EPEL. Выполните следующую команду для того же.

yum -y install epel-release
yum -y update

Теперь установите Erlang, используя следующую команду.

yum -y install erlang socat

Теперь вы можете проверить версию Erlang с помощью следующей команды.

erl -version

Вы получите следующий вывод.

[ ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

Чтобы переключиться на оболочку Erlang, вы можете ввести следующую команду.

erl

Оболочка изменится, и вы получите следующий вывод.

Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with ^G)
1>

Выйти из оболочки можно двойным нажатием ctrl+C. Теперь Erlang установлен в вашей системе, теперь вы можете приступить к установке RabbitMQ.

Установите RabbitMQ

RabbitMQ предоставляет пакет RPM для корпоративных систем Linux, который предварительно скомпилирован и может быть установлен напрямую. Единственной необходимой зависимостью было установить Erlang в систему. Поскольку мы установили Erlang, мы можем продолжить загрузку RabbitMQ. Загрузите RPM-пакет Erlang, запустив.

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

Если у вас не установлен wget, вы можете запустить yum -y install wget. Вы всегда можете найти ссылку на страницу загрузки последней версии RabbitMQ.

Импортируйте ключ GPG, выполнив:

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

Установите пакет RPM, выполнив:

rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

Теперь RabbitMQ установлен в вашей системе.

Запуск RabbitMQ

Вы можете запустить серверный процесс RabbitMQ, выполнив следующую команду.

systemctl start rabbitmq-server

Чтобы автоматически запускать RabbitMQ во время загрузки, выполните следующую команду.

systemctl enable rabbitmq-server

Чтобы проверить состояние сервера RabbitMQ, запустите:

systemctl status rabbitmq-server

Вы должны получить следующий вывод, если запущен успешно.

? rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago
 Main PID: 29006 (beam.smp)
   Status: "Initialized"
   CGroup: /system.slice/rabbitmq-server.service
           ??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K tr...
           ??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon
           ??29283 erl_child_setup 1024
           ??29303 inet_gethost 4
           ??29304 inet_gethost 4

Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker...
Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service"
Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker.
Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.

Изменить правила брандмауэра и SELinux

Если у вас установлен и запущен firewalld, вам нужно разрешить порт 8161 через брандмауэр. Выполните следующую команду для того же.

firewall-cmd --zone=public --permanent --add-port=4369/tcp
firewall-cmd --zone=public --permanent --add-port=25672/tcp
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
firewall-cmd --zone=public --permanent --add-port=15672/tcp
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
firewall-cmd --zone=public --permanent --add-port=1883/tcp
firewall-cmd --zone=public --permanent --add-port=8883/tcp
firewall-cmd --reload

Если у вас включен SELinux, вам нужно будет выполнить следующую команду, чтобы разрешить службу RabbitMQ.

setsebool -P nis_enabled 1

Доступ к веб-консоли

Включите веб-консоль управления RabbitMQ, запустив:

rabbitmq-plugins enable rabbitmq_management

Предоставьте право собственности на файлы RabbitMQ пользователю RabbitMQ, выполнив:

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

Теперь вам нужно создать пользователя-администратора для веб-консоли управления RabbitMQ. Выполните следующие команды для того же.

rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

Измените admin на предпочитаемое имя пользователя для администратора. Обязательно измените StrongPassword на очень надежный пароль.

Чтобы получить доступ к административной панели RabbitMQ, используйте свой любимый веб-браузер и откройте следующий URL-адрес.

http://Your_Server_IP:15672/

Вы увидите следующую страницу входа.

После входа в систему вы увидите административную панель.

Вы можете найти список пользователей, виртуальных хостов, политик на вкладке Администрирование панели управления. Из соображений безопасности следует удалить пользователя Guest.

Список очередей сообщений можно найти на вкладке Очереди. Вы можете создать новую очередь или удалить существующую через этот интерфейс.

Вы можете найти список текущих подключений на вкладке Подключения.

Точно так же вы можете найти каналы и биржи на соответствующих вкладках.

Заключение

Теперь вы можете легко установить RabbitMQ для организации очередей сообщений между процессами, серверами и клиентами. Чтобы узнать больше о RabbitMQ, вы можете просмотреть сайт RabbitMQ.