Windows 系统可以安装 RabbitMQ。请按照以下步骤在 Windows 上安装 RabbitMQ:
- 安装 Erlang:RabbitMQ 需要 Erlang 运行时环境,因此首先需要安装 Erlang。从 Erlang 官方网站下载最新的 Windows 安装包(https://www.erlang.org/downloads),并按照提示进行安装。
- 安装 RabbitMQ:下载 RabbitMQ 的 Windows 安装包(https://www.rabbitmq.com/install-windows.html)。请下载对应于您的系统(32 位或 64 位)的安装包。双击安装包并按照提示进行安装。
- 配置环境变量(可选):为了在命令行中方便地使用 RabbitMQ 命令,您可以将 RabbitMQ 的
sbin
目录添加到系统的 PATH 环境变量中。这一步骤不是必须的,但推荐执行。 - 启动 RabbitMQ 服务:在开始菜单中找到 RabbitMQ Server,单击“RabbitMQ Command Prompt”以打开 RabbitMQ 命令行。在命令行中输入以下命令以启动 RabbitMQ 服务:
rabbitmq-server start
- 启用 RabbitMQ 管理插件(可选):RabbitMQ 管理插件提供了一个基于 Web 的用户界面,可以方便地管理和监控 RabbitMQ 服务器。要启用此插件,请在 RabbitMQ 命令行中输入以下命令:
rabbitmq-plugins enable rabbitmq_management
现在您应该已经在 Windows 上成功安装并运行了 RabbitMQ 服务器。如果遇到问题,请参阅官方文档(https://www.rabbitmq.com/documentation.html)以获取更多帮助。
从日志中看,RabbitMQ 无法启动,因为分配给它的默认分布式端口 25672 已经被另一个 RabbitMQ 节点(rabbit@WIN-7MOB6GPUL2G)占用。这可能是因为您在同一台计算机上启动了多个 RabbitMQ 实例。
要解决此问题,您可以尝试以下方法:
- 查找并关闭其他 RabbitMQ 实例:使用任务管理器(Task Manager)找到并关闭其他占用端口 25672 的 RabbitMQ 进程。完成后,尝试重新启动 RabbitMQ。
- 更改 RabbitMQ 端口:如果您确实需要在同一台计算机上运行多个 RabbitMQ 实例,您需要为每个实例指定不同的分布式端口。编辑 RabbitMQ 配置文件(rabbitmq.conf),更改分布式端口设置。例如:
kernel.inet_dist_listen_min = 25673
kernel.inet_dist_listen_max = 25675
上述设置将 RabbitMQ 的分布式端口范围更改为 25673 到 25675。完成后,重启 RabbitMQ。
如果您找不到 rabbitmq.conf 文件,可以在 RabbitMQ 文档中查找有关如何在 Windows 上创建和修改配置文件的详细信息:https://www.rabbitmq.com/configure.html#define-environment-variables
windows中文件默认位置:C:\Users\Administrator\AppData\Roaming\RabbitMQ
如果没有rabbitmq.conf文件,直接在文件夹下新建rabbitmq.conf
文件内容:
# 设置节点名称
# 注意:节点名称在 RabbitMQ 集群中必须唯一
# 默认值:rabbit
# 示例值:my_rabbit_node
# 注意:如果你要更改节点名称,请确保在 erlang.cookie 文件中也进行相应更改
# 注意:更改节点名称后,你需要重新启动 RabbitMQ 服务
# node.name = my_rabbit_node
# 更改默认的 AMQP 端口
# 默认值:5672
# 示例值:5673
listeners.tcp.default = 5673
# 更改默认的管理插件端口
# 默认值:15672
# 示例值:15673
management.listener.port = 15673
# 更改默认的分布式 Erlang 端口
# 默认值:25672
# 示例值:25673
kernel.dist_listen_min = 25673
kernel.dist_listen_max = 25673
# 添加其他配置选项...
为了使更改生效,重新启动 RabbitMQ 服务。要做到这一点,打开命令提示符(Command Prompt)并以管理员身份运行。然后输入以下命令:
rabbitmq-service stop
rabbitmq-service start