步骤1:安装Erlang
RabbitMQ 它依赖于Erlang,需要先安装Erlang。首先确定你的window电脑是32位还是64位,以下的安装以window 64位电脑举例。
Erlang官网:http://www.erlang.org/
有的选择其他的安装方式,可能需要添加一下系统环境变量(正常安装的也要检查下):
根据自己的电脑选择合适的二进制安装包下载,安装。(对Erlang的安装就不在此累赘)
步骤二:RabbitMQ Server的下载与安装
RabbitMQ官方地址:http://www.rabbitmq.com/
下载安装包如下:
步骤三:直接运行rabbitmq-server-3.7.4.exe,选择要安装的目录,进行安装
1:选择安装的组件(一般默认)
2:(选择安装本地服务路径)
3:一路next,安装完成!
步骤四:检查RabbitMQ是否运行正常
1:查看安装目录
我的这里的安装是安装在C:\Program Files\RabbitMQ Server下
2:打开命令行命令行
打开命令行命令行,进入RabbitMQ的安装目录: cd rabbitmq_server-3.7.4\sbin
,输入 rabbitmqctl status 。
如果出现以下的图,恭喜你,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了,运行正常。
多数情况下会出现如下错误:RabbitMQ has Nodedown Error
问题主要原因是多处的.erlang.cookie内容信息不一致导致。
解决方案:2种(建议采用第1种)
1、更正Erlang的cookie
cookie的问题,需要保持
%WINDIR%\.erlang.cookie
(usuallyC:\Windows\.erlang.cookie
)、
C:\Users\%USERNAME%\.erlang.cookie
C:\WINDOWS\system32\config\systemprofile
一致,然后我搜索了一下,总共在三个地方找到了这个文件。
然后,用其中的一个文件中的内容完全替换掉其他两个,这样使三个文件保持一致,即可解决该问题;
建议:建议用C:\WINDOWS\system32\config\systemprofile处的.erlang.cookie文件,覆盖度其它两处的文件,已亲自验证。
2、重新安装RabbitMQ,并执行一下操作
- Run RabbitMQ sbin command prompt as administrator.
- Run "rabbitmq-service remove"
- Run "rabbitmq-service install"
步骤五:配置
激活 RabbitMQ's Management Plugin
使用RabbitMQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态。
打开命令窗口:
输入命令:
"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management
这样,就安装好插件了。
步骤六:启动RabbitMQ服务
步骤七:打开RabbitMQ页面
默认路径:http://localhost:15672
默认登录用户:guest/guest
步骤八:创建用户,密码,绑定角色
使用rabbitmqctl控制台命令(位于C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>)来创建用户,密码,绑定权限等。
注意:安装路径不同的请看仔细啊。
rabbitmq的用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。
查看已有用户及用户的角色:
rabbitmqctl.bat list_users
新增一个用户:
rabbitmqctl.bat add_user username password
新添加了username:xzsyr password:xzsyr128账户信息.
可以发现:xzsyr用户后面没有“[administrator]”
这个administrator是干嘛用的呢?这就涉及到用户角色问题了:
rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他的
无法登陆管理控制台,通常就是普通的生产者和消费者。
我们给 xzsyr用户 变成 “超级管理员” 角色
rabbitmqctl.bat set_user_tags username administrator
为我们的xzsyr用户添加administrator角色
重新查看用户信息:xzsyr用户已成功添加administrator角色
当然,除了上面的administrator 还有 monitoring、policymaker、management、自定义名称 ,对应上面介绍到的不同的角色。
像我们人一样,我们角色除了是公司的员工,还是父母的孩子、子女的爸妈等,用户也可以同时具有多个角色,设置方式:
rabbitmqctl.bat set_user_tags username tag1 tag2 ...
设置权限
rabbitmqctl set_permissions -p / admin .*.*.*
恩,现在总觉得guest 这个不安全(它的默认密码是guest),想更改密码,好办:
rabbitmqctl change_password userName newPassword
rabbitmqctl.bat delete_user username
到此,rabbitmq入门已完成。
小结:
//新增admin 密码admin
rabbitmqctl add_user admin admin
//将admin用户设置为administrator
rabbitmqctl set_user_tags admin administrator
//给admin所有的权限
rabbitmqctl set_permissions -p / admin .*.*.*