Win7安装rabbitMQ及基本操作

1. 先下载并安装Erlang

1.1 官网下载对应版本的安装包安装;

1.2.设置ErLang环境变量,配置Erlang的bin目录到系统变量Path,

1.3 命令行输入 erl 命令 检查是否安装成功:

 

2.安装RabbitMQ

2.1 官网下载安装包并安装;

2.2 安装完成后 命令行切换到安装目录的sbin下(也可以配置环境变量)

输入命令启动 rabbitmq_managemen(RabbitMQ的管理后台的插件)

rabbitmq-plugins enable rabbitmq_management

2.3 服务已经默认开启,如果没有开启,可以输入命令手动开启:

   rabbitmq-server start

 

2.4  登陆管理界面

开启浏览器访问http://localhost:15672

默认userName:guest    password:guest

 

 

 

3.  基本概念和操作

  • RabbitMQ 默认监听端口是5672
  • Broker:简单来说就是消息队列服务器实体。
  • Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
  • Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
  • Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
  • Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
  • vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
  • producer:消息生产者,就是投递消息的程序。
  • consumer:消息消费者,就是接受消息的程序。
  • channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

3.1 基本操作

  重启服务:

net stop RabbitMQ && net start RabbitMQ

  RabbitMQ启动和关闭

rabbitmq-service start
rabbitmq-service stop

 

3.2 用户管理

  (1)查看已有用户及用户的角色:

rabbitmqctl.bat list_users

  (2)新增一个用户:

rabbitmqctl.bat add_user {{username}} {{password}}

  (3)设置用户角色:

rabbitmqctl.bat set_user_tags {{username}} administrator

  rabbitmq用户角色可分为五类:

  • 超级管理员(administrator)

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

  • 监控者(monitoring)

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

  • 策略制定者(policymaker)

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

  • 普通管理者(management)

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

  •  无角色

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

 

  (4)一个用户可以同时具有多个角色:

rabbitmqctl.bat  set_user_tags  {{username}} {{tag1}} {{tag2}} ...

  (5)更改用户密码:

rabbitmqctl change_password {{userName}} {{newPassword}}

  (6)删除用户:

rabbitmqctl.bat delete_user {{username}}

3.3 vhost管理和权限设置

  • 当我们在创建用户时,会指定用户能访问一个虚拟主机,并且该用户只能访问该虚拟机下的队列(queue)和交换机(exchange),如果没有指定,默认的是”/”。
  • 每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的交换机、队列、绑定等,拥有自己的权限机制。vhost之于Rabbit就像虚拟机之于物理机一样。
  • 一个rabbitmq服务器上可以运行多个vhost,以便于适用不同的业务需要,这样做既可以满足权限配置的要求,也可以避免不同业务之间队列、交换机的命名冲突问题,因为不同vhost之间是隔离的。
  • 用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读权限、写权限(ConfP  WriteP  ReadP)。


  (1) 新增虚拟主机:

rabbitmqctl add_vhost  {{vhost_name}}

  (2) 设置用户权限

rabbitmqctl  set_permissions  -p  {{vhost_name}} {{username}} ConfP WriteP ReadP

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

rabbitmqctl  list_permissions  [-p  {{vhost_name}}]

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

rabbitmqctl  list_user_permissions  {{username}}

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

rabbitmqctl  clear_permissions  [-p {{vhost_name}}] User

  (6) 查看所有vhost

rabbitmqctl list_vhosts

  (7) 删除vhost

rabbitmqctl delete_vhost {{vhost_name}}

 

3.4  队列管理

查看所有的队列:
    rabbitmqctl list_queues
清除所有的队列:
    rabbitmqctl reset

 

posted @ 2018-12-28 11:11  鼎雲  阅读(2593)  评论(0编辑  收藏  举报