运行 RabbitMQ时出错 init terminating in do_boot ({cannot get bootfile,start_clean.boot})
今天 在 64位 的 Windows Server 2016 安装 RibbitMQ 时,遇到这个问题
运行 RabbitMQ时 报错
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.9\sbin>rabbitmq-plugins.bat enable rabbitmq_management init terminating in do_boot ({cannot get bootfile,start_clean.boot}) Crash dump is being written to: erl_crash.dump...done 子目录或文件 terminating 已经存在。 处理: terminating 时出错。 子目录或文件 in 已经存在。 处理: in 时出错。 子目录或文件 do_boot,{'cannot get bootfile','start_clean.boot'}}-mnesia 已经存在。 处理: do_boot,{'cannot get bootfile','start_clean.boot'}}-mnesia 时出错。 {"init terminating in do_boot",{'cannot get bootfile','start_clean.boot'}} init terminating in do_boot ({cannot get bootfile,start_clean.boot})
怀疑是 Windows Server 2016 对 C盘访问权限问题 (网上也有说是 安装目录中不能有 空格)
解决方案,亲测好用
第一步
把 原安装在C盘的 Erlang 和 RabbitMQ Server 都卸了,并删除 安装目录,重启电脑
第二步
将 Erlang 安装在 D盘 根目录下 如:D:\erl-23.1
将 RabbitMQ Server 安装在 D盘 根目录下 如:D:\RabbitMQ Server
第三步 配置环境变量
ERLANG_HOME 为 D:\erl-23.1\erts-11.1
RABBITMQ_SERVER 为 D:\RabbitMQ Server\rabbitmq_server-3.7.9
Path 加入两个变量
%ERLANG_HOME%\bin
%RABBITMQ_SERVER%\sbin
若是其它版本的windows 的 Path 在一行配置的,需要在注意 与上一个变量要用 ; 号 隔开
运行 cmd 进入 D:\RabbitMQ Server\rabbitmq_server-3.7.9\sbin 目录
执行 rabbitmq-plugins.bat enable rabbitmq_management
出现 started 3 plugins 字样 说明 rabbitMQ 启动成功
第四步 验证rabbitmq是否安装成功
输入 以下命令
rabbitmqctl status
在浏览器输入地址:http://localhost:15672,输入默认账号:guest 密码:guest,就能进入RabbitMQ界面了。
登陆后,进入主页
第五步 重新启动 RabbitMQ
如果不小心把 cmd.exe 给关闭了, RabbitMQ 自然也就退出运行了
输入命令: cd rabbitMQ的sbin路径,进入sbin目录
输入命令:rabbitmq-server.bat 启动RabbitMQ服务