• Docker(部署常见应用):RabbitMQ安装docker版 /权限管理命令


    1、进入docker hub镜像仓库地址:https://hub.docker.com/

    2、搜素rabbitMQ 查询镜像,可以看到多种类型,选择带有web页面的(managment)

     

     3、拉取镜像

    docker pull rabbitmq:3.8.3-management
    #查看拉取到的镜像
    docker image

     

    4、根据下载的镜像创建并启动mq容器

    docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc
    

    -d 后台运行容器;

    --name 指定容器名;

    -p 指定服务运行的端口(服务端端口:容器内端口)(5672:应用访问端口;15672:控制台Web端口号);

    -v 映射目录或文件;

    --hostname  主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

    -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

    2888deb59dfc  是启动的镜像id:docker images 中IMAGE_ID字段

    提示1:指定RABBITMQ_DEFAULT_VHOST虚拟机名称后【开发配置中需要修改spring.rabbitmq.virtual-host属性,默认是/】

    提示2:根据hostname命令获取主机名

    5、使用命令:docker ps 查看正在运行容器

    6、可以使用浏览器打开web管理端:http://服务器地址:15672 ,输入设置的账号密码即可

    简单应用来这里吧: SpringBoot应用操作Rabbitmq

    权限管理

    首先登陆docker :

     docker exec -it 9e83ee385ca7 /bin/bash 
    9e83ee385ca7为docker ps中查看的mq容器id;

    1. 用户管理

    用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

    相应的命令

    (1) 新增一个用户

    rabbitmqctl  add_user  Username  Password

    (2) 删除一个用户

    rabbitmqctl  delete_user  Username

    (3) 修改用户的密码

    rabbitmqctl  change_password  Username  Newpassword

    (4) 查看当前用户列表

    rabbitmqctl  list_users

    2. 用户角色

    按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

    (1) 超级管理员(administrator)

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

    (2) 监控者(monitoring)

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

    (3) 策略制定者(policymaker)

    可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。

    与administrator的对比,administrator能看到这些内容

    (4) 普通管理者(management)

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

    (5) 其他

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

    了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。

    设置用户角色的命令为:

    rabbitmqctl  set_user_tags  User  Tag

    User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。

    也可以给同一用户设置多个角色,例如

    rabbitmqctl  set_user_tags  hncscwc  monitoring  policymaker

    3. 用户权限

    用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。

    例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。

    相关命令为:

    (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

    docker安装rabbitmq:rabbitMQ安装docker版 /权限管理命令

    简单应用来这里吧: SpringBoot应用操作Rabbitmq

    简单应用来这里吧: SpringBoot应用操作Rabbitmq(direct高级操作)

    简单应用来这里吧:SpringBoot应用操作Rabbitmq(topic交换器高级操作)   

    简单应用来这里吧:SpringBoot应用操作Rabbitmq(fanout广播高级操作)

  • 相关阅读:
    springMVC整合mybatis框架的项目起始配置
    springMVC解决JSON对象乱码问题
    SpringBoot将redis和spring-cache集成使用
    idea实现右侧预览
    List循环遍历时移出元素
    Mac下IDEA卡顿解决方案
    swagger中@ApiModelProperty中example属性对List的支持
    centos7安装PostgreSQL12
    mongo添加索引及索引相关方法
    Mac下安装Postgresql
  • 原文地址:https://www.cnblogs.com/niunafei/p/12794716.html
Copyright © 2020-2023  润新知