跳至主要内容
版本: 4.0

在 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 工具需要 Windows 控制台以 UTF-8 模式运行

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

这在 Windows 配置 指南中有更详细的介绍。

依赖项

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

可以在 Erlang/OTP 版本树 页面上获得最新版本的 Windows Erlang 二进制版本。

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

直接下载

描述下载签名
适用于 Windows 系统的安装程序(来自 GitHubrabbitmq-server-4.0.2.exe签名

运行 RabbitMQ Windows 服务

安装 Erlang 和 RabbitMQ 后,RabbitMQ 节点可以作为 Windows 服务启动。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 使用的端口 的访问列入白名单。

默认用户访问

代理创建了一个名为 guest 的用户,密码为 guest。未配置的客户端通常会使用这些凭据。**默认情况下,这些凭据只能在以 localhost 身份连接到代理时使用**,因此您需要在从任何其他机器连接之前采取措施。

请参阅有关 访问控制 的文档,了解如何创建更多用户以及删除 guest 用户。

端口访问

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

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

  • 4369: epmd,RabbitMQ 节点和 CLI 工具使用的对等发现服务
  • 5672, 5671: AMQP 0-9-1 和 1.0 客户端分别使用,不使用 TLS 和使用 TLS
  • 25672: 用于节点间和 CLI 工具通信(Erlang 分布式服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为 AMQP 端口 + 20000)。除非这些端口上的外部连接确实必要(例如,集群使用 联合 或 CLI 工具用于子网之外的机器),否则这些端口不应公开。有关详细信息,请参阅 网络指南
  • 35672-35682: 由 CLI 工具(Erlang 分布式客户端端口)用于与节点通信,并从动态范围分配(计算为服务器分布式端口 + 10000 到服务器分布式端口 + 10010)。有关详细信息,请参阅 网络指南
  • 15672: HTTP API 客户端、管理界面rabbitmqadmin(仅在启用 管理插件 时)。
  • 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 安装的服务。

以服务形式运行时的转储文件位置

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

© 2024 RabbitMQ. All rights reserved.