Как установить rabbitmq в Windows

Обновлено: 24.11.2024

Rabbit MQ — это популярная промышленная реализация протокола обмена сообщениями AMQP с открытым исходным кодом для связи с промежуточным программным обеспечением очереди сообщений, которое работает во всех основных операционных системах.

Rabbit MQ построен на надежной платформе Erlang OTP, которая является необходимым условием для установки Rabbit MQ Server. Обе версии можно загрузить по адресу:

  1. Загрузите и установите Erlang OTP для Windows (vR16B03)
  2. Запустите программу установки Rabbit MQ Server для Windows (версия 3.2.3)

Установщик Windows загрузит, установит и запустит службу Windows Rabbit MQ Server, прослушивающую клиентов AMQP через порт по умолчанию: 5672.

Чтобы обеспечить лучшую видимость состояния экземпляра сервера Rabbit MQ, настоятельно рекомендуется включить подключаемый модуль управления Rabbit MQ, который вы можете сделать в командной строке с помощью:

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

Или перезапустив службу из пользовательского интерфейса апплета MMC services.msc:

  1. Откройте диалоговое окно «Выполнить Windows», нажав клавиши Windows + R:

  1. Выберите службу RabbitMQ Windows и щелкните значок перезагрузки:

Установив пакет, мы можем выполнить стандартный сценарий отправки и получения устойчивых сообщений с помощью Rabbit MQ.

См. RabbitMqTests.cs в этом репозитории, где приведены исполняемые образцы этого пошагового руководства ниже:

Во-первых, вам необходимо зарегистрировать тип Exchange и Queue, прежде чем вы сможете их использовать. Чтобы создать постоянную рабочую очередь, создайте надежный «прямой» обмен и привяжите к нему постоянную очередь, например:

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

Код регистрации нужно запустить только один раз, чтобы зарегистрировать и настроить Exchange и Queue, которые мы будем использовать в оставшихся примерах. После запуска вернитесь в пользовательский интерфейс управления, чтобы увидеть новый обмен test.exchange с привязкой к только что созданному test.queue:

После того, как обмен и очередь настроены, мы можем начать публиковать в них сообщения. Rabbit MQ позволяет вам отправлять сообщения с любым произвольным телом byte[], для текстовых сообщений вы должны отправлять их как байты UTF8. Чтобы убедиться, что сообщение сохраняется при запуске Rabbit MQ Server, вам нужно пометить сообщение как постоянное, как показано ниже:

Ключ маршрутизации гарантирует, что копия сообщения будет доставлена ​​в test.queue, которую вы можете увидеть в пользовательском интерфейсе администратора:

Существует несколько способов чтения опубликованных сообщений из очереди, самый простой из которых – использовать BasicGet :

Флаг noAck:true указывает Rabbit MQ немедленно удалить сообщение из очереди.

Еще один популярный вариант использования – отправить подтверждение (и удалить его из очереди) только после того, как вы успешно приняли сообщение, что можно сделать с помощью отдельного вызова BasicAck :

Еще один способ использования сообщений – подписка на push-уведомления. Вы можете использовать встроенный QueueingBasicConsumer для предоставления упрощенной модели программирования, позволяя блокировать общую очередь до тех пор, пока не будет получено сообщение, например:

Общая очередь будет блокироваться до тех пор, пока не получит сообщение или канал, которому она назначена, не будет закрыт, что приведет к возникновению исключения EndOfStreamException . Благодаря этому вы можете настроить продолжительный фоновый поток для непрерывной обработки нескольких сообщений в бесконечном цикле, пока очередь не будет закрыта.

В приведенном ниже примере показан пример этого в действии, когда публикуются 5 сообщений в отдельном потоке перед закрытием канала, к которому привязана подписка, что вызывает создание EndOfStreamException, завершение подписки и выход из цикла:

Это руководство описывает установку RabbitMQ в Windows. Основное внимание уделяется двум рекомендуемым вариантам установки:

Руководство также охватывает несколько вопросов после установки в контексте Windows:

и многое другое. Эти темы более подробно рассматриваются в остальных руководствах по документации.

В отдельном сопутствующем руководстве рассматриваются известные проблемы, характерные для Windows, и способы их решения.

Использование шоколадного

Пакеты RabbitMQ распространяются через Chocolatey. Утверждение новых выпусков может занять некоторое время (иногда недели), поэтому этот вариант не гарантирует предоставление последней версии. Однако он управляет необходимыми зависимостями.

Чтобы установить RabbitMQ с помощью Chocolatey, выполните следующую команду из командной строки или из PowerShell:

Во многих случаях использование Chocolatey является оптимальным методом установки.

Пакет Chocolatey RabbitMQ имеет открытый исходный код, и его можно найти на GitHub.

Использование установщика

Официальный установщик RabbitMQ создается для каждого выпуска RabbitMQ.

По сравнению с установкой через Chocolatey, этот вариант дает пользователям Windows максимальную гибкость, но также требует от них знать об определенных допущениях и требованиях к установщику:

  • Единовременно должна быть установлена ​​только одна версия Erlang
  • Erlang должен быть установлен с использованием учетной записи администратора
  • Настоятельно рекомендуется также установить RabbitMQ в качестве учетной записи администратора
  • Путь установки должен содержать только символы ASCII.
  • Возможно, потребуется вручную скопировать файл общего секрета, используемый инструментами CLI.
  • Инструменты CLI требуют, чтобы консоль Windows работала в режиме UTF-8.

Если эти условия не выполняются, служба Windows и средства командной строки могут потребовать переустановки или других действий вручную, чтобы заставить их работать должным образом.

Более подробно это описано в руководстве по проблемам, связанным с Windows.

Зависимости

RabbitMQ требует установки поддерживаемой 64-разрядной версии Erlang для Windows. Последние бинарные сборки для Windows можно получить на странице дерева версий Erlang/OTP.

Обратите внимание, что Erlang должен быть установлен с использованием учетной записи администратора, иначе он не будет обнаружен службой RabbitMQ Windows.

После установки поддерживаемой версии Erlang загрузите установщик RabbitMQ, rabbitmq-server-.exe и запустите его. Он устанавливает RabbitMQ как службу Windows и запускает ее с конфигурацией по умолчанию.

Прямая загрузка

< td>rabbitmq-server-3.9.13.exe
Описание Загрузить Подпись
Установщик для систем Windows (из GitHub) Подпись

Запустить службу RabbitMQ для Windows

После того как Erlang и RabbitMQ установлены, узел RabbitMQ можно запустить как службу Windows. Служба RabbitMQ запускается автоматически. Службой RabbitMQ Windows можно управлять из меню «Пуск».

Инструменты интерфейса командной строки

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

В Windows инструменты CLI имеют суффикс .bat по сравнению с другими платформами. Например, rabbitmqctl в Windows вызывается как rabbitmqctl.bat .

Чтобы эти инструменты работали, они должны иметь возможность проходить аутентификацию с помощью узлов RabbitMQ, используя общий секретный файл, который называется файлом cookie Erlang.

Основное руководство по инструментам CLI охватывает большинство тем, связанных с использованием инструментов командной строки.

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

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

Расположение файла cookie

В Windows расположение файла cookie зависит от того, заданы ли переменные среды HOMEDRIVE и HOMEPATH.

Если RabbitMQ установлен с использованием учетной записи без прав администратора, общий секретный файл, используемый узлами и инструментами CLI, не будет помещен в правильное место, что приведет к сбоям аутентификации при использовании rabbitmqctl.bat и других инструментов CLI.

Для смягчения последствий можно использовать один из следующих вариантов:

  • Переустановите RabbitMQ с правами администратора
  • Вручную скопируйте файл .erlang.cookie из %SystemRoot% или %SystemRoot%\system32\config\systemprofile в %HOMEDRIVE%%HOMEPATH% .

Конфигурация узла

Служба начинает использовать настройки по умолчанию, прослушивая соединения на интерфейсах и портах по умолчанию.

Конфигурация узла в основном выполняется с помощью файла конфигурации. Ряд доступных переменных среды можно использовать для управления расположением данных узла, путем к файлу конфигурации и т. д.

Более подробно это описано в Руководстве по настройке

Изменения переменных среды в Windows

Важно: после установки переменных среды необходимо переустановить службу Windows. Перезапуска службы будет недостаточно.

Управление узлом RabbitMQ

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

Ссылки на каталоги RabbitMQ можно найти в меню "Пуск".

Есть также ссылка на окно командной строки, которое запускается в каталоге sbin в меню «Пуск». Это наиболее удобный способ запуска инструментов командной строки.

Остановка узла

Чтобы остановить брокера или проверить его состояние, используйте rabbitmqctl.bat в sbin (от имени администратора).

Проверка состояния узла

Следующая команда CLI выполняет базовую проверку работоспособности и отображает некоторую информацию об узле, если он запущен.

Чтобы это работало, должны быть выполнены два условия:

  • Узел должен быть запущен
  • rabbitmqctl.bat должен иметь возможность аутентификации на узле

Файлы журнала и управление

Журналы сервера крайне важны для устранения неполадок и анализа первопричин. См. руководства по ведению журналов и расположению файлов и каталогов, чтобы узнать о расположении файлов журналов, чередовании журналов и многом другом.

Брандмауэры и инструменты безопасности

Брандмауэры и инструменты безопасности могут препятствовать правильной работе службы RabbitMQ Windows и инструментов CLI.

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

Доступ пользователей по умолчанию

Брокер создает пользователя guest с паролем guest . Ненастроенные клиенты обычно используют эти учетные данные. По умолчанию эти учетные данные можно использовать только при подключении к брокеру в качестве локального хоста, поэтому перед подключением с любого другого компьютера необходимо выполнить определенные действия.

См. документацию по управлению доступом для получения информации о том, как создать больше пользователей и удалить гостевого пользователя.

Доступ к порту

Узлы RabbitMQ привязываются к портам (открытым сокетам TCP сервера), чтобы принимать подключения клиента и инструмента CLI. Другие процессы и инструменты, такие как антивирусное программное обеспечение, могут препятствовать привязке RabbitMQ к порту. Когда это произойдет, узел не запустится.

Инструменты CLI, клиентские библиотеки и узлы RabbitMQ также открывают соединения (клиентские сокеты TCP). Брандмауэры могут препятствовать обмену данными между узлами и инструментами CLI. Убедитесь, что следующие порты доступны:

Обновление виртуальной машины Erlang

Если у вас есть существующая установка и вы планируете обновить виртуальную машину Erlang с 32-разрядной до 64-разрядной версии, перед обновлением виртуальной машины необходимо удалить брокер. Установщик не сможет остановить или удалить службу, которая была установлена ​​с виртуальной машиной Erlang другой архитектуры.

Расположение файла дампа при работе в качестве службы

В случае, если виртуальная машина Erlang завершает работу, когда RabbitMQ работает как служба, вместо записи аварийного дампа в текущий каталог (что не имеет смысла для службы) он записывается в файл erl_crash.dump в базовый каталог сервера RabbitMQ, по умолчанию %APPDATA%\%RABBITMQ_SERVICENAME%, в противном случае обычно %APPDATA%\RabbitMQ.

Получение помощи и предоставление отзывов

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

Помогите нам улучшить Документы

Если вы хотите внести свой вклад в улучшение сайта, его исходный код доступен на GitHub. Просто разветвите репозиторий и отправьте запрос на включение. Спасибо!

Здесь мы узнаем, как настроить или установить Erlang и RabbitMQ на компьютерах с Windows и как включить подключаемый модуль веб-управления RabbitMQ шаг за шагом.

RabbitMQ построен на среде выполнения Erlang, поэтому, прежде чем мы установим RabbitMQ, нам сначала нужно загрузить и установить Erlang на наши машины.

Что такое Эрланг?

Erlang — это язык программирования общего назначения и среда выполнения.

Erlang имеет встроенную поддержку параллелизма, распределения и отказоустойчивости. Erlang используется в нескольких крупных телекоммуникационных системах Ericsson.

Установка Эрланга

Ниже приведена ссылка для загрузки и установки Erlang на вашем компьютере с Windows.

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

После загрузки необходимой версии Erlang теперь мы установим Erlang для этого дважды щелкните загруженный установочный файл и следуйте инструкциям, как показано ниже.

Установка RabbitMQ

После завершения установки Erlang теперь мы установим RabbitMQ в Windows, чтобы загрузить установочный файл RabbitMQ по следующей ссылке для Windows.

После открытия вышеуказанного URL-адреса мы получим информацию о файлах настройки RabbitMQ, как показано ниже. Здесь мы собираемся установить сервер RabbitMQ на компьютер с Windows, поэтому мы загрузим версию для Windows, как показано ниже.

После загрузки необходимого установочного файла просто дважды щелкните установочный файл, чтобы установить rabbitmq в Windows, как показано ниже.

Запуск сервера RabbitMQ

После завершения установки сервера RabbitMQ мы проверим состояние сервера RabbitMQ для этого поиска командной строки RabbitMQ и откроем его с правами администратора, как показано ниже.

После открытия командной строки введите команду «rabbitmqctl status» и нажмите Enter, чтобы проверить состояние сервера RabbitMQ.

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

Ошибка аутентификации RabbitMQ

Ниже приведены действия по исправлению ошибки типа «Аутентификация не удалась (отклонена удаленным узлом), проверьте файл cookie Erlang».

  1. В проводнике перейдите в каталог пользователя, вставив %userprofile% в адресную строку.
  2. Если файл .erlang.cookie уже доступен в этом месте, просто удалите его, в противном случае перейдите к следующему шагу.
  3. Во втором проводнике перейдите в папку C:\Windows\System32\config\systemprofile.
  4. Найдите файл .erlang.cookie и скопируйте его в свой пользовательский каталог.
  5. Теперь ваш rabbitmqctl должен пройти аутентификацию.

После выполнения вышеуказанных шагов снова запустите команду «rabbitmqctl status» в командной строке rabbitmq от имени администратора, после чего появится экран, как показано ниже.

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

RabbitMQ Включить подключаемый модуль веб-управления

Чтобы включить подключаемый модуль веб-управления rabbitmq в Windows, нам нужно запустить командную строку RabbitMQ с правами администратора, ввести команду «rabbitmq-plugins enable rabbitmq_management» и выполнить ее.

После выполнения вышеуказанной команды веб-управления подключаемые модули веб-управления будут включены, и будет показан список включенных подключаемых модулей.

Теперь вы можете открыть плагин веб-управления в браузере, для этого введите следующий URL-адрес в браузере и нажмите Enter.

После открытия URL-адреса локального хоста в браузере он запросит у вас учетные данные для доступа к плагину веб-управления.

Для доступа к панели веб-управления rabbitmq имя пользователя и пароль по умолчанию — «guest» (имя пользователя: «guest» | пароль: «guest»).

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

Теперь мы успешно запустили сервер RabbitMQ и подключаемый модуль веб-управления.

В следующих главах мы узнаем о доступных компонентах RabbitMQ, таких как Exchanges, Queues, Channels и т. д., с примерами.

Установка RabbitMQ в Windows — это простой и понятный процесс; единственное, что вам нужно знать о вашей системной информации, и загрузить соответствующий установщик RabbitMQ.

Информация о версии:

  • Windows 10 Профессиональная (64-разрядная версия)
  • Сервер RabbitMQ 3.7.15
  • otp_win64_22.0 (Эрланг)

Предпосылки:

RabbitMQ работает на виртуальной машине Erlang. Итак, чтобы установить/запустить RabbitMQ, изначально нам нужно установить пакет Erlang. Если вы уже установили Erlang на свой компьютер, вы можете пропустить этот шаг и сразу перейти к установке RabbitMQ.

Скачайте последнюю версию Erlang с официального сайта, для меня это OTP 22.0

Нажмите на выделенный выше двоичный файл OTP 22.0 Windows xx-bit; его размер будет около 94+ МБ.

После успешной загрузки дважды щелкните файл otp_win64_22.0, и вы увидите показанное ниже окно установки.

Установите флажок Erlang и нажмите кнопку Далее. Затем выберите папку назначения для установки Erlang и нажмите кнопку «Далее».

Затем вам будет предложено выбрать папку меню "Пуск" и нажать кнопку "Установить".

Теперь начнется установка Erlang; это займет некоторое время.

После успешной установки вы, вероятно, увидите показанное ниже окно успешной установки.

Нажмите кнопку закрытия. Теперь вы завершили установку Erlang, так что теперь вы можете установить RabbitMQ.

Скачайте последнюю версию сервера RabbitMQ с официального сайта, у меня это 3.7.15.

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

Нажмите на выделенный выше файл rabbitmq-server-x.x.xx.exe для загрузки, после загрузки дважды щелкните файл .exe для установки. Затем вы увидите показанный ниже мастер установки.

Выберите службу RabbitMQ, параметры меню "Пуск" и нажмите кнопку "Далее".

Просмотрите папку установки и нажмите кнопку "Далее". Затем вы увидите ход установки.

После этого шага вы увидите нижеприведенное сообщение об успешном завершении и нажмите "Готово".

Теперь установка RabbitMQ завершена.

RabbitMQ запускается по умолчанию как служба Windows, если вы очень заинтересованы в работе с инструментом командной строки, это зависит от вас.

Но любой, кто хочет получить к нему доступ через веб-интерфейс, должен включить подключаемый модуль управления RabbitMQ с помощью приведенной ниже команды в командной строке RabbitMQ.

Откройте командную строку RabbitMQ (которая будет установлена ​​как часть описанных выше шагов установки) и нажмите приведенную ниже команду.

Читайте также: