直接上结论

1 问题汇总

  1. 主机名中文问题
  2. 路径空格问题
  3. web管理工具未启用问题
  4. 防火墙问题

  5.  cookie 不匹配问题

  6. 输出乱码问题 chcp 65001

2 来自官方的强制要求

苦苦哭😭!!!一定要先看官方文档,平台搜索的教程...

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

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

3 正规操作


先 安装 Erlang ,再 安装 RabbitMQ。(确保版本匹配)

版本要求:Erlang Version Requirements | RabbitMQ

注意  管理员权限安装

Erlang 环境变量配置,我只在 Path 里简单配置一下。

 Erlang 验证 命令: erl

RabbitMQ处理

我的主机名、用户名是英文,没有 1 、2 问题,不用配置RabbitMQ的环境变量

C:\Users\xxx>E:

E:\>cd E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin

E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>rabbitmq-service.bat install
RabbitMQ service is already present - only updating service parameters

E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>rabbitmq-service.bat start
RabbitMQ 服务正在启动 .
RabbitMQ 服务已经启动成功。

E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@xxx:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@xxx...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.

E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>net stop RabbitMQ
The RabbitMQ service is stopping.
The RabbitMQ service was stopped successfully.


E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>net start RabbitMQ
The RabbitMQ service is starting.
The RabbitMQ service was started successfully.


E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>rabbitmqctl status
Status of node rabbit@pipiimmortal ...
[]
Runtime

OS PID: 19816
OS: Windows
Uptime (seconds): 14
Is under maintenance?: false
RabbitMQ version: 4.1.1
...


解决方案

1 主机名中文问题

如果不想改名字,可以添加环境变量 RABBITMQ_BASE

路径随便,只能包含ASCII

2 web管理工具未启用问题

管理员运行 cmd ,打开RabbitMQ安装目录进入sbin

rabbitmq-service.bat remove

rabbitmq-service.bat install

rabbitmq-plugins enable rabbitmq_management

rabbitmq-service.bat start

防火墙问题

可能会阻止 RabbitMQ Windows 服务和 CLI 工具运行 正确。

应将此类工具配置为将对 RabbitMQ 使用的端口的访问列入白名单。

RabbitMQ 使用端口官网截图

4 rabbitmqctl status报错

主要原因是 Erlang cookie 不匹配 或 主机名解析未用管理员身份安装软件

RabbitMQ 服务在 Windows 中有两个关键的 cookie 存储位置:

系统服务账户位置(RabbitMQ 服务实际使用的)

%SystemRoot%\system32\config\systemprofile\.erlang.cookie

对应路径:

C:\Windows\system32\config\systemprofile\.erlang.cookie


当前用户位置(CLI 工具使用的):

%HOMEDRIVE%%HOMEPATH%\.erlang.cookie

对应路径:

C:\Users\xxx\.erlang.cookie(您的实际路径)


错误原因

        两个 cookie 不匹配导致认证失败。

解决方案

        将系统下的 .erlang.cookie 复制到 当前用户位置(C:\Users\xxx\.erlang.cookie)进行替换

        

错误详情

E:\app\RabbitMQ\rabbitmq_server-4.1.1\sbin>rabbitmqctl status
Error: unable to perform an operation on node 'rabbit@xxx'. Please see diagnostics information and suggestions below.

Most common reasons for this are:

 * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
 * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
 * Target node is not running

In addition to the diagnostics info below:

 * See the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more
 * Consult server logs on node rabbit@xxx
 * If target node is configured to use long node names, don't forget to use --longnames with CLI tools

DIAGNOSTICS
===========

attempted to contact: [rabbit@xxx]

rabbit@pipiimmortal:
  * connected to epmd (port 4369) on xxx
  * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: check if the Erlang cookie is identical for all server nodes and CLI tools
  * suggestion: check if all server nodes and CLI tools use consistent hostnames when addressing each other
  * suggestion: check if inter-node connections may be configured to use TLS. If so, all nodes and CLI tools must do that
   * suggestion: see the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more


Current node details:
 * node name: 'rabbitmqcli-280-rabbit@xxx'
 * effective user's home directory: c:/Users/xxxx
 * Erlang cookie hash: 3zEBP0ikZrzskuOk2T1iWg==

结束 


参考文档

Windows Configuration | RabbitMQ

Installing on Windows | RabbitMQ

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐