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. C# 高效率创建字符串类(StringBuilder)

    1.为什么需要StringBuilder类? 因为String类型代表不可变字符串,所以无法对当前String类型实例进行处理.所以FCL提供了System.Text.StringBuilder类型, ...

  2. 全网最详细的Sublime Text 3的设置字体及字体大小(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows里下载与安装Sublime Text *(图文详解) 全网最详细的Sublime Text 3的激活(图文详解) 你也许是如下的版本:   点 ...

  3. ES6箭头函数this指向

    普通函数中的this: 1. this总是代表它的直接调用者(js的this是执行上下文), 例如 obj.func ,那么func中的this就是obj 2.在默认情况(非严格模式下,未使用 'us ...

  4. java+selenium+maven+testng框架(一)安装搭建

    1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...

  5. 目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN

    看到一篇循序渐进讲R-CNN.Fast R-CNN.Faster R-CNN演进的博文,写得非常好,摘入于此,方便查找和阅读. object detection,就是在给定的图片中精确找到物体所在位置 ...

  6. 配置Vim的显示样式

    进入用户目录: cd ~ 复制系统的vim配置到用户的目录下: cp -r /usr/share/vim/vimrc ~/.vimrc 如果无法编辑,可能时因为/usr/share/vim/vimrc ...

  7. 【IT笔试面试题整理】连续子数组的最大和

    [试题描述]输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整数组成一个子数组. 求所有子数组的和的最大值.要求时间复杂度O(n). 思路:当我们加上一个正数时,和会增加:当我们加上一个 ...

  8. Python制作回合制手游外挂简单教程(上)

    引入: 每次玩回合制游戏的时候,反反复复的日常任务让人不胜其烦 玩问道的时候,我们希望能够自动刷道,玩梦幻希望能自动做师门.捉鬼等等 说明: 该外挂只能模拟鼠标键盘操作,并不能修改游戏数据 我这里使用 ...

  9. 浅析 JavaScript 链式调用

    对$函数你已经很熟悉了.它通常返回一个html元素或一个html元素的集合,如下: function$(){ var elements = []; for(vari=0,len=arguments.l ...

  10. 并发编程之 Condition 源码分析

    前言 Condition 是 Lock 的伴侣,至于如何使用,我们之前也写了一些文章来说,例如 使用 ReentrantLock 和 Condition 实现一个阻塞队列,并发编程之 Java 三把锁 ...