windows上部署RabbitMQ单机服务
RabbitMQ依赖于ErLang(面向并发的编程语言)
1.ErLang for windows 64 bit
下载最新版Erlanghttp://www.erlang.org/download.html,然后安装,设置环境变量
ERLANG_HOME=E:\erl7.1(erlang安装位置)
添加到PATH: ;% ERLANG_HOME%\bin
2.RabbitMQ for windows 64 bit
下载地址:http://www.rabbitmq.com/download.html
官网安装教程http://www.rabbitmq.com/install-windows.html
设置环境变量:RABBITMQ_SERVER=E:\RabbitMQ Server\rabbitmq_server-3.5.6(rabbitmq服务安装位置)
添加到PATH: ;% RABBITMQ_SERVER%\sbin
3.测试RabbitMQ安装成功
命令行中运行rabbitmq-service,出现下面的界面证明配置成功
4.激活Rabbit MQ's Management Plugin
使用可视化的方式查看RabbitMQ的服务实例状态,激活方式:
进入% RABBITMQ_SERVER%\sbin目录,执行rabbitmq-plugins.bat enable rabbitmq_management
然后重启服务即可生效:net stop RabbitMQ --> net start RabbitMQ(不区分大小写)
当你发现出现一些BUG,比如The service RabbitMQ is not an erlsrv controlled service这个BUG
这其实是因为权限不足导致的,解决办法是:
可以先找到CMD.exe、然后右键以管理员身份运行、进入D:\developer\RabbitMQ\rabbitmq_server-3.8.14\sbin, 执行rabbitmq-service install
这样然后在计算机管理服务中就看到有RabbitMQ的服务了
访问http://localhost:15672 默认用户名密码都是guest
针对web管理界面,在overview视图最下方可以导出当前所有配置的json数据,也可以更改json文件,上传到web管理界面,刷新即可看到相关修改
总结:
关于RabbitMQ在windows 下的安装和基本设置步骤:
1.安装对应版本的Erlang 并设置环境变量
2.安装RabbitMQ
3.设置环境变量
4.安装插件rabbitmq_management
5.有了插件rabbitmq_management很多事情就可以在这个可视化插件中来完成了。
5.启动服务出现服务名无效问题,解决方法:
问题: rabbitmq 重复安装多次启动提示服务名无效问题
解决方法: 卸载 rabbitmq , 删除注册表(位置截图如下), 安装路径保证无中文空格。
安装完成后查看服务: 已经有 RabbitMQ 服务了,启动命令: net start RabbitMQ
因为不是管理员运行,改用管理员运行输入,启动命令: net start RabbitMQ
还有一个重要的问题,RabbitMQ的数据和日志路径的修改
1. 设置数据存储目录,这里假设是F:\RabbitMQ
//在控制台执行
rabbitmq-service.bat remove
set RABBITMQ_BASE=F:\RabbitMQ
rabbitmq-service.bat install
2. 启动RabbitMQ
//在控制台执行
net start RabbitMQ
3. 重置并启动管理插件
//在控制台执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl start_app
4.创建admin账号并授权vhost
//在控制台执行
rabbitmqctl add_user admin {your password}
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p '/' admin '.*' '.*' '.*'
{your password}替换成实际的密码
注:rabbitmqctl set_permissions -p '/' admin '.' '.' '.*'可能会执行失败,如果执行失败,用guest / guest登录http://127.0.0.1:15672完成vhost授权
在图形界面添加也可以