window下安装RabbitMQ

RabbitMQ:

  MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求

  jms  mq   aq对比:(大致了解就行,后期我会详细分析[kakfa  | Jafka |  MQ  |  AQ |  ZeroMQ等消息中间件])

    jms是sun公司提供的一套消息中间件的标准和Api,而MQ则是遵循了AMQP协议的具体实现和产品,aq(ActiveMQ)已经贡献给apache,原来是阿里的消息中间件

安装RabbitMQ: 

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

  准备工作:

    下载erlang 和 rabbitMQ:(我已经下载好了)

    

   1>  双击安装erlang平台,傻瓜式安装就行,尽量保证安装的文件夹不要有空格  ,最后安装完后配置环境变量:

     

   2>再安装rebbitServer,双击傻瓜式安装,安装目录不要有空格,存在空格可能会报错的哦。默认安装的RabbitMQ 监听端口是5672

   3>激活Rabbit MQ's Management Plugin,作用是为了可以通过web访问:(15762 是web管理的监控端口,5762是rabbitMQ的监控端口,不要弄混了)

    win+R    进入命令行,输入下面命令,前面是rebbitmq的安装目录,自己换成自己的即可:

    "D:\company\rabbitMq\rabbitMqServer\rabbitmq_server-3.7.7\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

    

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

net stop RabbitMQ && net start RabbitMQ

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

    

    “发生错误:发生系统错误 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

    huhy  后面没有“[administrator]”

      这个administrator是干嘛用的呢?这就涉及到用户角色问题了:rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

      (1) 超级管理员(administrator)

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

      (2) 监控者(monitoring)

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

      (3) 策略制定者(policymaker)

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

      (4) 普通管理者(management)

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

      5) 其他的

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

    

   权限设置

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

    按照官方文档,用户权限指的是用户对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

   4>打开浏览器访问 http://localhost:15672  默认的用户名/密码是guest/guest,我自己创建了一个用户:

    

    

  到这,rabbitMQ就安装完成,并且启动了,后期我会介绍springboot整合rabbitMQ的用法,以及最后springcloud 整合bus的时候用到rabbitMQ的用法

命令汇总:
    
使用RabbitMQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态。
rabbitmq-plugins.bat enable rabbitmq_management
重启服务
net stop RabbitMQ && net start RabbitMQ
创建用户
rabbitmqctl.bat add_user huhy 123456
赋予权限
rabbitmqctl.bat set_user_tags huhy administrator
删除默认的管理员用户
rabbitmqctl.bat delete_user guest
页面访问
http://localhost:15672 


权限相关命令为:

设置用户权限

rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP

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

rabbitmqctl  list_permissions  [-p  VHostPath]

查看指定用户的权限信息

rabbitmqctl  list_user_permissions  User

清除用户的权限信息

rabbitmqctl  clear_permissions  [-p VHostPath]  User

 

 

 

 

posted @ 2018-09-07 16:07  陽66  阅读(691)  评论(0编辑  收藏  举报