rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。

1.安装Erlang

所以在安装rabbitMQ之前,需要先安装Erlang 。

小编使用的是otp_win64_18.1 ,需要其他版本或者32位系统的,可以去官网下载。

全部点击“下一步”就行。

有的选择其他的安装方式,可能需要添加一下系统环境变量(正常安装的也要检查下):

有最好,没有的话就手动添加嘛。

2.安装RabbitMQ

下载运行rabbitmq-server-3.6.5 ,需要其他版本或者32位系统的,可以去官网下载。

依旧可以不改变默认进行安装。

需要注意:默认安装的RabbitMQ 监听端口是5672

3.配置

激活 RabbitMQ's Management Plugin

使用RabbitMQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态。

打开命令窗口:

输入命令:

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

这样,就安装好插件了,是不是能使用了呢?别急,需要重启服务才行,使用命令:

net stop RabbitMQ && net start RabbitMQ

这时候的,也许会出现这种结果:

“发生错误:发生系统错误 5。  拒绝访问。”

这是什么鬼?查了下,原来,5代表的是:不是系统管理员权限。

问题解决方案:使用管理员打开cmd再执行此命令:

这样就结束了吗?当然没有。

创建用户,密码,绑定角色

使用rabbitmqctl控制台命令(位于C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>)来创建用户,密码,绑定权限等。

注意:安装路径不同的请看仔细啊。

rabbitmq的用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

查看已有用户及用户的角色:

rabbitmqctl.bat list_users

新增一个用户:

rabbitmqctl.bat add_user username password

此时来看下我们当前用户哈:

eric 后面没有“[administrator]”

这个administrator是干嘛用的呢?这就涉及到用户角色问题了:

按照我个人理解,rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

(1) 超级管理员(administrator)

可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

(2) 监控者(monitoring)

可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

(3) 策略制定者(policymaker)

可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。

(4) 普通管理者(management)

仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

(5) 其他的

无法登陆管理控制台,通常就是普通的生产者和消费者。

好啦,我们也给 eric 变成 “超级管理员” 角色:

rabbitmqctl.bat set_user_tags username administrator

再看下结果哈:

当然,除了上面的administrator 还有 monitoring、policymaker、management、自定义名称 ,对应上面介绍到的不同的角色。

像我们人一样,我们角色除了是公司的员工,还是父母的孩子、子女的爸妈等,用户也可以同时具有多个角色,设置方式:

rabbitmqctl.bat  set_user_tags  username tag1 tag2 ...

恩,现在总觉得guest 这个不安全(它的默认密码是guest),想更改密码,好办:

rabbitmqctl change_password userName newPassword

有的人也许会说,我就是看guest不爽,老子新增了administrator用户了,就是想干掉它,可以:

rabbitmqctl.bat delete_user username

这时,可能有人就要问了:命令框是只有一个用户了,你怎么操作啊?怎么查看执行情况啊/

当然有路子啦:

使用浏览器打开 http://localhost:15672 访问Rabbit Mq的管理控制台,使用刚才创建的账号登陆系统:

其实,除了可查看所有的信息 ,上面的命令 增删改查、权限设置,都可以在这个页面完成,还可以依据业务需求设置策略(policy),具体的就不在这里啰嗦了,大家可以看看网上的帖子。

权限设置

用户有了角色,那也需要权限设置啊,别急,慢慢来:

按照官方文档,用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。

我们配置权限会影响到exchange、queue的声明和删除。

读写权限影响到从queue里取消息、向exchange发送消息以及queue和exchange的绑定(binding)操作。

例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限

权限相关命令为:

(1) 设置用户权限

rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP

(2) 查看(指定hostpath)所有用户的权限信息

rabbitmqctl  list_permissions  [-p  VHostPath]

(3) 查看指定用户的权限信息

rabbitmqctl  list_user_permissions  User

(4)  清除用户的权限信息

rabbitmqctl  clear_permissions  [-p VHostPath]  User

现在环境搭好了,用户、角色、权限全部设置好,开始进行code(原理整理,及编码 待续)

Window安装RabbitMQ并设置为开机启动相关推荐

  1. Mac OS下安装tomcat并设置服务开机启动

    Mac mini 是苹果的服务器端产品,预装服务器版本OS X,许多中小企业使用其搭建服务器,具有小巧美观,携带方便的优点.Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应 ...

  2. 1 Centos7安装(jdk8)Tomcat9并设置为开机启动

    一.安装过程 cd /usr/local/src wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-t ...

  3. Window将Redis设置为开机启动

    Window将Redis设置为开机启动 大家平时可能都会有这样的烦恼:虽然安装并启动了redis,但是只要一关闭cmd窗口,redis就会消失.所以要把redis设置成windows下的服务. 也就是 ...

  4. 源码安装apache后将其设置为开机启动

    从网上下载apache的源码包,例如/usr/local/src/httpd-2.2.34.tar.gz,解压到目录/usr/local/src/httpd-2.2.34,编译并安装,假如安装到/us ...

  5. CentOS设置服务开机启动的方法

    CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下 ...

  6. centos设置服务开机启动

    Linux CentOS设置服务开机启动的方法 by 天涯 · 2013/07/26 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHa ...

  7. CentOS 设置服务开机启动的方法

    为什么80%的码农都做不了架构师?>>>    CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是 ...

  8. Linux(CentOS 7.x) 下如何设置 nginx 开机启动?

    CentOS 7 以上是用 Systemd 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统,Systemd 服务文件以 .service 结尾. 使用命令 yum 安装 ng ...

  9. 如何在统信UOS系统中设置tomcat开机启动

    如何在统信UOS系统中设置tomcat开机启动 欢迎使用Markdown编辑器 1.创建服务 2. 创建软链接 3. 刷新配置 4. 启动.重启.停止 5. 开机自启动 6. 查看状态 欢迎使用Mar ...

  10. 安装docker和docker的开机启动及容器的开机自启

    前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 CentOS ...

最新文章

  1. 对javscript中Object.defineProperty的理解
  2. 聚类分析在用户行为中的实例_序列模式挖掘在用户行为分析中的应用
  3. 开发日记-20190914 关键词 汇编语言王爽版 第三章
  4. c++ primer 习题13.39自己做的答案
  5. 儿童python编程能给孩子带来哪些好处_python编程入门学习对孩子成长有哪些优势?...
  6. 搜索场景下的智能推荐演变之路
  7. 值不值得入手_比3系更运动!标配2.0T+后驱,凯迪拉克CT5值不值得入手
  8. (86)FPGA读文件激励(readmemh)
  9. Android 系统性能优化(53)---功耗优化battery-historian V2.0的数据获取
  10. 定期定量采购_采购的四种方法
  11. 前端获取后台保存的Cookie
  12. 【laravel VS lumen】
  13. idea导入java文件_怎么在idea中导入Java文件并运行文件
  14. android 软件搬家 换机,手机搬家一键换机
  15. 苏格拉底与那个失恋的孩子
  16. 被认为是世界史上50个最伟大的发明有哪些?
  17. Stacked Hourglass Networks简析
  18. 推荐系统学习笔记召回策略之基于内容召回
  19. php echo eot,(基础篇)php中理解print EOT分界符和echo EOT的用法区别
  20. 查看数据库信息(一)

热门文章

  1. python——字符串练习:句子反转(小米笔试题)
  2. 裸辞后,随便找份工作干着还是等找到满意的为止?
  3. 免费错别字检测、在线纠错工具
  4. 【论文泛读18】利用BERT进行端到端面向方面的情感分析
  5. 塞班3的java键盘_【图片】Symbian3系统简介【塞班3吧】_百度贴吧
  6. kubespray安装高可用k8s集群
  7. win7休眠的开启与关闭方法
  8. 企业微信有什么用,介绍企业微信6个强大的功能
  9. 企业如何操作网络口碑营销?
  10. App中WebView网页加载优化实战干货