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
赋予权限
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

 

 

window下安装RabbitMQ的更多相关文章

  1. Window下安装使用RabbitMQ

    RabbitMQ官网 http://www.rabbitmq.com 下载地址 http://www.rabbitmq.com/download.html 一 Windows下安装RabbitMq 1 ...

  2. Windows下安装RabbitMQ

    今天正好给自己机器安装rabbitmq,总结下安装经验. 现在国内访问erlang,和 RabbitMQ 官网好像都很难连上.我已下载好了资源,需要的朋友可以下载. 链接: https://pan.b ...

  3. window下安装 node ,并搭建 vue 项目

    uname -a  命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系统, i686 i386表示32位系统) window下安装node 1.在官网上选择对应的位数的msi安装 ...

  4. window下安装cross-env解决NODE_ENV ts-node 不是内部或外部命令,也不是可运行的程序 或批处理文件 问题

    window下安装cross-env解决NODE_ENV ts-node 不是内部或外部命令,也不是可运行的程序 或批处理文件 问题 在git bash上启动无法进行调试,采用cross-env后可以 ...

  5. Window 下安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  6. Window 下安装 Redis

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 一.Window 下安装 redis https://github.com/MicrosoftArchive/r ...

  7. window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error

    window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error 解决: 如果没有配置环境,在安 ...

  8. window下安装rsyncServer

    window下安装rsyncServer---------------------------------1. 解压cwRsyncServer_4.0.5_Installer.zip,安装. 2. 复 ...

  9. nginx(Window下安装 & 配置文件参数说明 & 实例)

    一.为什么需要对Tomcat服务器做负载均衡:  Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站 ...

随机推荐

  1. Grape简介

    什么是Grape Grape是Ruby中的一个类REST API框架,被设计用于运行在Rack上或弥补已有的web应用框架(比如Rails或者Sinatra),Grape提供了一个简单的DSL用于方便 ...

  2. php完美匹配邮箱、链接地址和电话号码

    php完美匹配邮箱.链接地址和电话号码 写了好一会有问题,朋友这边很好功能,借用了.嘎嘎 //31日 更新: 匹配手机以及电话号码 重新修改,可支持18开头的手机号,并修改bug,可匹配出字符串中所有 ...

  3. 整理学习ASP.NET MVC的资源

    网站 http://www.asp.net/mvc http://stackoverflow.com/questions/tagged/asp.net-mvc+asp.net-mvc-4?sort=n ...

  4. Jenkins使用TFS部署

    之前发表过一篇Jenkins的文章 使用Jenkins部署.Net应用程序 里面是使用GIT做的版本管理 今天更新下使用TFS做版本管理 首先在插件管理中搜索tfs,我这里因为已经装了,所以在已安装列 ...

  5. 纯CSS3手风琴图片滑动特效

    要求 必备知识 基本了解CSS语法,初步了解CSS3语法知识. 开发环境 Adobe Dreamweaver CS6/Chrome浏览器 演示地址 演示地址 制作CSS3制作手风琴图片滑动效果,我们仅 ...

  6. Linux 中计划任务-at-cron

    概念-计划任务:在某个时段自动执行某个任务  at:只执行一次 语法:at   时间 服务:atd   必须开启 如没有:yum install at -y 查看服务状态是否开启  systemctl ...

  7. redis学习(五) redis过期时间

    redis过期时间 1.redis过期时间介绍 有时候我们并不希望redis的key一直存在.例如缓存,验证码等数据,我们希望它们能在一定时间内自动的被销毁.redis提供了一些命令,能够让我们对ke ...

  8. es6学习笔记3--解构和对象

    1.解构 在接收数据的地方(比如赋值的左边),解构使你使用模式去获取部分数据. 下面的代码是解构的一个例子: let obj = { first: 'Jane', last: 'Doe' }; let ...

  9. 从零开始学JAVA(09)-使用SpringMVC4 + Mybatis + MySql 例子(注解方式开发)

    项目需要,继续学习springmvc,这里加入Mybatis对数据库的访问,并写下一个简单的例子便于以后学习,希望对看的人有帮助.上一篇被移出博客主页,这一篇努力排版整齐,更原创,希望不要再被移出主页 ...

  10. 分布式理论(八)—— Consistent Hash(一致性哈希算法)

    前言 在分布式系统中,常常需要使用缓存,而且通常是集群,访问缓存和添加缓存都需要一个 hash 算法来寻找到合适的 Cache 节点.但,通常不是用取余hash,而是使用我们今天的主角-- 一致性 h ...