跳至主内容
版本:4.2

Windows 安装

概述

本指南涵盖了在 Windows 上安装 RabbitMQ。它侧重于两个推荐的安装选项:

本指南还涵盖了在 Windows 环境下的几个安装后主题:

等等。这些主题将在 其余文档指南 中更详细地介绍。

另一份独立的配套指南涵盖了已知的 Windows 配置 问题及其规避方法。

使用 Chocolatey

RabbitMQ 的软件包 通过 Chocolatey 分发。新版本可能需要一段时间(有时是几周)才能通过审批,因此此选项不能保证提供最新版本。但是,它会管理所需的依赖项。

要使用 Chocolatey 安装 RabbitMQ,请在命令行或 PowerShell 中运行以下命令:

choco install rabbitmq

对于许多用例,Chocolatey 是最佳安装方法。

Chocolatey RabbitMQ 包是开源的,可以在 GitHub 上找到。

使用安装程序

官方 RabbitMQ 安装程序适用于 每个 RabbitMQ 版本

通过 Chocolatey 安装 相比,此选项为 Windows 用户提供了最大的灵活性,但也要求他们了解安装程序中的某些假设和要求:

  • 一次只能安装一个 Erlang 版本。
  • Erlang 必须 **使用管理员帐户** 安装。
  • **强烈建议** RabbitMQ 也作为管理员帐户安装。
  • 安装路径只能包含 ASCII 字符。**强烈建议** 路径中的任何目录名都不包含空格。
  • 可能需要手动复制 CLI 工具使用的 共享密钥 文件。
  • CLI 工具需要在 UTF-8 模式下运行 Windows 控制台。

当这些条件不满足时,Windows 服务和 CLI 工具可能需要重新安装或其他手动步骤才能使其按预期工作。

这将在 Windows 配置 指南中更详细地介绍。

依赖项

RabbitMQ 需要安装 64 位 支持版本的 Erlang for Windows。

可以从 Erlang/OTP 版本树 页面获取近期 Erlang for Windows 的二进制构建版本。

Erlang **必须使用管理员帐户** 安装,否则 RabbitMQ Windows 服务将无法发现它。安装了支持版本的 Erlang 后,下载 RabbitMQ 安装程序 rabbitmq-server-{version}.exe 并运行它。它会将 RabbitMQ 安装为 Windows 服务并使用默认配置启动它。

直接下载

描述下载签名
Windows 系统安装程序(来自 GitHubrabbitmq-server-4.2.0.exe签名

运行 RabbitMQ Windows 服务

安装完 Erlang 和 RabbitMQ 后,可以作为 Windows 服务启动 RabbitMQ 节点。RabbitMQ 服务会自动启动。RabbitMQ Windows 服务可以通过“开始”菜单进行管理。

CLI 工具

RabbitMQ 节点通常使用 CLI 工具PowerShell 中进行管理、检查和操作。

在 Windows 上,CLI 工具与其它平台相比,有一个 .bat 后缀。例如,Windows 上的 rabbitmqctl 调用方式为 rabbitmqctl.bat

为了使这些工具正常工作,它们必须能够使用一个名为 Erlang cookie 的共享密钥文件 与 RabbitMQ 节点进行身份验证

主要的 CLI 工具指南 涵盖了与命令行工具使用相关的大部分主题。

要查看各种 RabbitMQ CLI 工具提供的命令,请使用 help 命令。

# lists commands provided by rabbitmqctl.bat
rabbitmqctl.bat help

# lists commands provided by rabbitmq-diagnostics.bat
rabbitmq-diagnostics.bat help

# ...you guessed it!
rabbitmq-plugins.bat help

要了解特定命令,请将其名称作为参数传递给 help

rabbitmqctl.bat help add_user

在 Windows 上,cookie 文件位置 取决于 HOMEDRIVEHOMEPATH 环境变量是否已设置。

如果使用非管理员帐户安装 RabbitMQ,那么节点和 CLI 工具使用的 共享密钥 文件将不会放在正确的位置,从而导致在使用 rabbitmqctl.bat 和其他 CLI 工具时出现 身份验证失败

可以使用以下选项之一来解决此问题:

  • 使用管理员用户重新安装 RabbitMQ。
  • 手动将 .erlang.cookie 文件从 %SystemRoot%%SystemRoot%\system32\config\systemprofile 复制到 %HOMEDRIVE%%HOMEPATH%

节点配置

服务使用其默认的 设置 启动,监听 默认接口端口 上的连接。

节点配置主要通过 配置文件 完成。可以使用一系列可用的 环境变量 来控制节点的 数据位置、配置文件路径等。

这将在 配置指南 中更详细地介绍。

Windows 上的环境变量更改

重要提示:设置环境变量后,必须 **重新安装** Windows 服务。仅仅重启服务是不够的。

管理 RabbitMQ 节点

管理服务

RabbitMQ 目录的链接可以在“开始”菜单中找到。

“开始”菜单中还有一个指向命令提示符窗口的链接,该窗口将在 sbin 目录中启动。这是运行 命令行工具 的最便捷方式。

请注意,CLI 工具必须 向目标 RabbitMQ 节点进行身份验证

停止节点

要停止代理或检查其状态,请在 sbin 目录中使用 rabbitmqctl.bat(作为管理员)。

rabbitmqctl.bat stop

检查节点状态

以下 CLI 命令 运行基本的 健康检查,并在节点运行时显示有关节点的一些信息。

# A basic health check of both the node and CLI tool connectivity/authentication
rabbitmqctl.bat status

要使其正常工作,必须满足两个条件:

  • 节点必须正在运行。
  • rabbitmqctl.bat 必须能够向节点进行身份验证。

请参阅 CLI 工具部分监控和健康检查指南 以了解更多信息。

日志文件和管理

服务器日志在故障排除和根本原因分析中至关重要。请参阅 日志记录文件和目录位置 指南,了解日志文件位置、日志轮换等信息。

防火墙和安全工具

防火墙和安全工具可能会阻止 RabbitMQ Windows 服务和 CLI 工具正常运行。

应将这些工具配置为允许访问 RabbitMQ 使用的端口

可选:安装 handle.exe 进行文件句柄监控

RabbitMQ 节点收集和提供的 指标 之一是节点使用的文件和套接字句柄的数量。

在 Windows 上,这些指标是从外部命令行工具 handle.exe 收集的。

在 Windows Server 2025 上需要版本 5,并且在大多数情况下强烈推荐。

默认用户访问

代理创建一个用户 guest,密码为 guest。未配置的客户端通常会使用这些凭据。**默认情况下,这些凭据只能在连接到本地主机上的代理时使用**,因此在从任何其他计算机连接之前,您需要采取相应措施。

有关如何创建更多用户和删除 guest 用户的信息,请参阅访问控制文档。

端口访问

RabbitMQ 节点绑定到端口(打开服务器 TCP 套接字)以接受客户端和 CLI 工具的连接。防病毒软件等其他进程和工具可能会阻止 RabbitMQ 绑定到端口。发生这种情况时,节点将无法启动。

CLI 工具、客户端库和 RabbitMQ 节点也打开连接(客户端 TCP 套接字)。防火墙可能会阻止节点和 CLI 工具之间的通信。确保以下端口可访问

  • 4369:epmd,RabbitMQ 节点和 CLI 工具使用的对等发现服务
  • 5672, 5671:用于 AMQP 0-9-1 和 1.0 客户端(带或不带 TLS)
  • 25672:用于节点间和 CLI 工具通信(Erlang 分布服务器端口),并从动态范围分配(默认限制为单个端口,计算为 AMQP 端口 + 20000)。除非确实需要这些端口上的外部连接(例如,集群使用 联邦 或在子网之外的计算机上使用 CLI 工具),否则不应公开这些端口。有关详细信息,请参阅 网络指南
  • 35672-35682:用于 CLI 工具(Erlang 分布式客户端端口)与节点通信,并从动态范围分配(计算方式为服务器分布式端口 + 10000 到服务器分布式端口 + 10010)。有关详细信息,请参阅 网络指南
  • 15672:用于 HTTP API 客户端、管理 UIrabbitmqadmin(仅当 管理插件 启用时)
  • 61613、61614:STOMP 客户端(无 TLS 和带 TLS)(仅当 STOMP 插件 启用时)
  • 1883、8883:MQTT 客户端(无 TLS 和带 TLS),如果 MQTT 插件 启用
  • 15674:STOMP-over-WebSockets 客户端(仅当 Web STOMP 插件 启用时)
  • 15675:MQTT-over-WebSockets 客户端(仅当 Web MQTT 插件 启用时)

可以 配置 RabbitMQ 以使用 不同的端口和特定的网络接口

升级 Erlang VM

如果您已有安装并且计划将 Erlang VM 从 32 位升级到 64 位,则必须在升级 VM 之前卸载代理。安装程序将无法停止或卸载使用不同架构 Erlang VM 安装的服务。

作为服务运行时转储文件位置

如果 Erlang VM 在 RabbitMQ 作为服务运行时终止,则不会将崩溃转储写入当前目录(这对服务没有意义),而是将其写入 RabbitMQ 服务器 基目录 下的 erl_crash.dump 文件,默认情况下为 %APPDATA%\%RABBITMQ_SERVICENAME% - 通常是 %APPDATA%\RabbitMQ

© . This site is unofficial and not affiliated with VMware.