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. JavaScript概念之screen/client/offset/scroll/inner/avail的width/left 分类: JavaScript HTML+CSS 2015-05-27 16:42 635人阅读 评论(0) 收藏

    原文地址:http://caibaojian.com/js-name.html JS中获取各种宽度和距离,常常让我们混淆,各种浏览器的不兼容让我们很头疼,现在就在说说js中有哪些宽度和距离. 1.名词 ...

  2. 一口一口吃掉Hexo(四)

    如果你想得到更好的阅读效果,请访问我的个人网站 ,版权所有,未经许可不得转载! 人总是不会满足于现状,接下来我们就可以让我们的朋友们通过独立域名访问我们的网站了,但是这肯定是要花点钱的,所以这篇文章难 ...

  3. Silverlight中使用MVVM(3)—进阶

    这篇主要引申出Command结合MVVM模式在应用程序中的使用 我们要做出的效果是这样的 就是提供了一个简单的查询功能将结果绑定到DataGrid中,在前面的基础上,这个部分相对比较容易实现了 我们在 ...

  4. Java总结:字符串详解

    更新时间:2018-1-6 21:20:39 更多请查看在线文集:http://android.52fhy.com/java/index.html String 字符串创建 String str1=& ...

  5. 解读Secondary NameNode的功能

    1.概述 最近有朋友问我Secondary NameNode的作用,是不是NameNode的备份?是不是为了防止NameNode的单点问题?确实,刚接触Hadoop,从字面上看,很容易会把Second ...

  6. 24-hadoop-hiveserver2&jdbc-正则数据导入

    hive 可以 类似jdbc链接, 但启动的必须是hiveserver2, 才可以使用 hiveserver2 默认监听 10000 端口 1, 启动: nohup $HIVE_HOME/bin/hi ...

  7. JavaWeb 简单实现客户信息管理系统

    项目介绍 本项目使用Jsp+Servlet+MySQL实现 功能介绍 查询客户信息:查询数据库中所有客户信息,分页展示 添加客户信息:创建新客户并添加到数据库中 搜索客户信息:根据用户的输入查询客户信 ...

  8. logback打印mybatis sql日志

    近期在项目中调试sql,发现现有的配置 使用logback 无法打印出sql语句,原配置如下(修改为debug也不好使): <!--jdbc --><logger name=&quo ...

  9. WIN32控件使用系统样式

    定义如下即可: #ifdef _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Mi ...

  10. .17-浅析webpack源码之compile流程-入口函数run

    本节流程如图: 现在正式进入打包流程,起步方法为run: Compiler.prototype.run = (callback) => { const startTime = Date.now( ...