今天尝试在笔记本(Win10)安装RabbitMQ,可是一直失败。最后解决后发现是个天大坑,恼火,记录下来。
先说结论:
1、RabbitMQ时,安装目录不要有空格、中文,而默认安装目录时有空格的,所以一定要改。
2、Win的账户也得是英文,例如C:\Users\此处不能为中文\AppData\Roaming\RabbitMQ
详细过程如下
首先我找了个安装攻略《RabbitMQ安装教程(Windows/Linux都有)》。这个很好,简单粗暴。
文章大概的意思是
1、首先需要安装 Erlang环境
2、安装RabbitMQ
我找同事要了,otp_win64_17.3.exe和rabbitmq-server-3.6.6.exe开始安装。
当我执行 rabbitmq-plugins enable rabbitmq_management时,报错了。
然后我请同事过来帮忙,无果。
然后我有百度到了一个《RabbitMQ系列(一):Windows下RabbitMQ安装及入门》这个博文更详细。其中提到了一句话,这个很重要。安装RabbitMQ时,安装目录不要有空格,而默认安装目录时有空格的,所以一定要改。
我会想我的安装目录,果然有空格,然后我先后又照着这个博文安装了两边,依然报错。
然后,我又全部卸载了Erlang环境和RabbitMQ。又从官网上重新下载了otp_win64_20.2.exe和rabbitmq-server-3.7.3.exe。
但依然报错、尽管错误信息不太一样了。
我大概被卡在这一个下午,前进。
后来,我看了一个《Rabbitmq 启动报错》。博文大概的意思是,我的rabbitMQ已经安装好了,执行rabbitmq-plugins.bat enable rabbitmq_management,这个命令的时候,出现以下错误
解决方法:C:\Users\Administrator\AppData\Roaming\rabbitmq下的文件给删除,原因可能是我卸载多多次rabbitMQ,最开始装的是32位的,后来是64位的,可能新安装的mq在加载以前的数据文件的时候,出错了,导致的这个问题。
然后我找到我本地的路径,将其全部删除。
然后执行rabbitmq-plugins enable rabbitmq_management。貌似好了。
我赶紧rabbitmq-service start 。结果又Err
然后,我rabbitmq-service stop,rabbitmq-service remove,rabbitmq-service install,rabbitmq-service start,rabbitmq-plugins enable rabbitmq_management。结果报错又回来了。
静下心来我仔细观察这个提示。我发现这个提示并不是错误提示,它大概的意思是,启用插件,准备修改配置,但插件本身就是启用状态,所以unchanged。
然后执行rabbitmq-plugins disable rabbitmq_management和rabbitmq-plugins enable rabbitmq_management验证了这个事情。
然后我回头看多次安装会留下之前记录的问题,我注意到C:\Users\中文\AppData\Roaming\rabbitmq。我的目录里有中文,我又开始怀疑中个问题。
接下来我又开始研究如何把这个中文改成英文。
我参考百度经验做的
大概思路为
1、在控制面板、用户管理,新增一个管理账号B。(因为本身的管理账号无法修改目录名字)
2、注销,登陆B,修改文件夹名字。
这又出现了一个问题,文件夹被程序占用,无法修改。解决方法
任务管理器、性能、打开资源监听器
CPU、关联句柄中搜索被占用文件夹。如图。(我当时被Rabbit占用了,我又切回账号将Rabbit删了)
3、修改注册表信息
依次展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist,在Profilelist下的文件夹对应系统中用户,而文件夹中ProfileImagePath值是指向每个用户文件夹的地址,一个个点击查看,找到中文名用户的对应所在的ProfileImagePath值。如图
然后注销,登陆回我的账户。
然后安装Rabbit,继续执行rabbitmq-service stop,rabbitmq-service remove,rabbitmq-service install,rabbitmq-service start,rabbitmq-plugins enable rabbitmq_management。
然后http://127.0.0.1:15672/
到底结束