RabbitMQ 插件是由 Erlang 语言编写的,并且和服务器是一起运行在同一个 Erlang VM 中的。关于如何安装rabbitmq,请参考如何使用rabbitmq.

为什么需要management插件

虽然大部分程序员是 CLI 的拥趸,但是如果有一个 web 访问控制页面提供,何尝不更好呢?事实上,我们使用 management 插件的主要原因如下:

  1. 运行 rabbitmqctl,当前用户可能需要启动服务器的 Erlang cookie 的权限,从运维层面来说这是不安全的,不管你是否有心去执行破坏性操作。
  2. 假如你的产品负责人很想知道队列中还存有多少后台通知未处理,你不可能说你先去学一下CLI吧。

management 插件的功能

1. 服务器数据统计概览–已投递的消息、服务器内存信息、Erlang进程数
2. 导入/导出服务器配置
3. 监控服务器连接
4. 交换器(exchange)列表、添加交换器
5. 队列列表、添加队列
6. 修改队列绑定
7. 用户列表、添加用户
8. vhost列表、添加vhost

图1向你展示了还不错的web界面:

图1

启动rabbitmq web管理后台插件

由于新发布的rabbitmq版本已经绑定了该插件,所以无需安装了,唯一要做的就是启用他们。进入rabbitmq安装目录,运行命令dir \plugins(linux下 ls /plugins)就可以看到可用的插件了:

amqp_client-3.6.5.ez
cowboy-1.0.3.ez
cowlib-1.0.1.ez
mochiweb-2.13.1.ez
rabbitmq_amqp1_0-3.6.5.ez
rabbitmq_auth_backend_ldap-3.6.5.ez
rabbitmq_auth_mechanism_ssl-3.6.5.ez
rabbitmq_consistent_hash_exchange-3.6.5.ez
rabbitmq_event_exchange-3.6.5.ez
rabbitmq_federation-3.6.5.ez
rabbitmq_federation_management-3.6.5.ez
rabbitmq_jms_topic_exchange-3.6.5.ez
rabbitmq_management-3.6.5.ez
rabbitmq_management_agent-3.6.5.ez
rabbitmq_management_visualiser-3.6.5.ez
rabbitmq_mqtt-3.6.5.ez
rabbitmq_recent_history_exchange-1.2.1.ez
rabbitmq_sharding-0.1.0.ez
rabbitmq_shovel-3.6.5.ez
rabbitmq_shovel_management-3.6.5.ez
rabbitmq_stomp-3.6.5.ez
rabbitmq_top-3.6.5.ez
rabbitmq_tracing-3.6.5.ez
rabbitmq_trust_store-3.6.5.ez
rabbitmq_web_dispatch-3.6.5.ez
rabbitmq_web_stomp-3.6.5.ez
rabbitmq_web_stomp_examples-3.6.5.ez
rabbit_common-3.6.5.ez
ranch-1.2.1.ez
README.txt
sockjs-0.3.4.ez
webmachine-1.10.3.ez

其中README.txt告诉我们怎么开启插件:rabbitmq_plugins enable XX, 即可开启XX插件。
我们开启management插件需要进入代理服务器的sbin目录下,执行命令rabbitmq-plugins enable rabbitmq_management

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:mochiwebwebmachinerabbitmq_web_dispatchamqp_clientrabbitmq_management_agentrabbitmq_managementApplying plugin configuration to rabbit@WIN-VDB8K51IQ2Q... started 6 plugins.

因为该插件依赖了其他几个插件,所以输出提示启用了6个插件。现在可以使用浏览器访问 http://localhost:15672/,它会弹出一个认证窗口,输入guest/guest(默认),即可看到图1所示的管理界面了。

从JSON文件导入配置

从web页面导出服务器配置json形式文件

如图2,可以分别导出、导入配置文件:

图2 以下是导出的配置文件样例:

{"rabbit_version" : "3.6.5","users" : [{"name" : "guest","password_hash" : "PbT5dxnZmxaaPli3C6fdW7bEx+17qchhwEw0pq5eUUMFzjpL","hashing_algorithm" : "rabbit_password_hashing_sha256","tags" : "administrator"}],"vhosts" : [{"name" : "/"}],"permissions" : [{"user" : "guest","vhost" : "/","configure" : ".*","write" : ".*","read" : ".*"}],"parameters" : [],"policies" : [],"queues" : [],"exchanges" : [],"bindings" : []
}

我们可以看到当前服务器版本是3.6.5、登录账户的信息、虚拟主机的信息、以及队列、交换器、绑定目前都是空的。
我们可以增加一个队列,然后导入配置。

{"rabbit_version":"3.6.5","users":[{"name":"guest","password_hash":"PbT5dxnZmxaaPli3C6fdW7bEx+17qchhwEw0pq5eUUMFzjpL","hashing_algorithm":"rabbit_password_hashing_sha256","tags":"administrator"}],"vhosts":[{"name":"/"}],"permissions":[{"user":"guest","vhost":"/","configure":".*","write":".*","read":".*"}],"parameters":[],"policies":[],"queues":[{"name":"hello_queue","vhost":"/","durable":true,"auto_delete":true,"arguments":{}}],"exchanges":[],"bindings":[]
}

保存后,选择该文件,然后导入该配置文件成功后,如图3可以看到已经新增一个队列,并且其属性设置是持久化、自动删除的:

图3

从web控制台添加用户

我们可以在Admin的tab页通过 Add a user 新增用户,并通过设置Tags指定相应的权限级别。如图4所示。

图4

管理用户的权限

上面我们增加一个rabbit1的管理员用户,但是目前他是没有权限访问任何虚拟主机的,如图5所示:

图5 现在通过**点击用户名,打开权限配置页面**,如图6所示:

图6 这里我们只需要单机 **Set permission** 按钮来保存权限变更,再**点击 Admin 回到用户列表**,我们可以看到rabbit1用户已经拥有访问"/"虚拟主机的权限了。

图7

其他功能

Connections、Channels、Exchanges、Queues这些栏目下面的功能自己动手试试吧,和用户管理差不多哦。

Java与RabbitMQ(二)启动rabbitmq web管理后台插件相关推荐

  1. go语言生成自定义uuid_竟然不用写代码!一款可视化 Web 管理后台生成工具

    大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目! 今天给大家推荐一款利刃:一款基于 Go 语言的可视化 Web 管理后台生成工具. 项目名称:go-sword,地址:http ...

  2. go web db每次关闭_竟然不用写代码!一款可视化 Web 管理后台生成工具

    大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目! 今天给大家推荐一款利刃:一款基于 Go 语言的可视化 Web 管理后台生成工具. 项目名称:go-sword,地址:http ...

  3. 撸一个基于VUE的WEB管理后台(一)

    最近需要一个BS架构的管理后台,对工作过程中产生的调研资料进行登记.查询和导出.我们的调研资料都是人工收集,每年的产生量大概也就是万级,用户人数也不过百,从需求上来看并没有什么架构压力,正好适合我这样 ...

  4. GM架构设计 1.web管理后台调用httpserver使用http 2.游戏客户端则是直接发送协议

    1.GM的本质:gm说白了就是能调用到我们在游戏服写好的GM接口.java语言对于反射之类的支持很好,因此GM_levelUp这样子命名即可,写好我们的协议处理逻辑. 2.这个GM接口有2个地方使用: ...

  5. Python SQLite3 安装 OpenVP* Web管理后台

    一.安装相关 yum install gcc gcc-c++ openssl openssl-devel pam-devel sqlite-devel 二.安装 Openvpn 服务器端 CentOS ...

  6. java 树 右键菜单_VUE实现Studio管理后台(八):用右键菜单contextmenu,编辑树形结构...

    RXEdior预设会有文件管理功能,但是灵活性需求不大,目前的设想是文件夹不允许修改,只允许增删改文件.基于这样的设想,把界面实现成这个效果: 这个功能并不是一个通用功能,并且我们做的代码,也没有按照 ...

  7. rabbitmq基础2——rabbitmq二进制安装和docker安装、基础命令

    文章目录 一.RabbitMQ安装 1.1 二进制安装 1.2 rabbitmqctl工具 1.3 docker安装 二.rabbitmq基础命令 2.1 多租户与权限类 2.1.1 创建虚拟主机 2 ...

  8. RabbitMQ 安装使用,Centos系统安装RabbitMQ、Docker安装启动RabbitMQ

    RabbitMQ官网:RabbitMQ RabbitMQ介绍: RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).RabbitMQ服务器是用Erlang语 ...

  9. linux离线安装rabbitmq,离线安装rabbitMQ

    安装步骤 整体软件环境 |软件|版本| |-|-| |RHEL |7 update3| |Erlong|19.3| |rabbitMQ|3.6.10| Erlong语言安装离线安装 rabbitMQ是 ...

最新文章

  1. Web 服务编程,REST 与 SOAP
  2. 手机网页css字体,CSS深入浅出-动态REM(手机专用)
  3. [hdu] 5696 区间的价值 || 序列分治
  4. 《技术的本质》2月24日part1
  5. 用matlab绘制升余弦函数
  6. 关于 Orbeon form PE 版本 Unauthorized 错误消息
  7. java数组清空能释放jvm内存嘛_JVM面试题汇总
  8. dubbo3.0源码编译问题
  9. oracle 错误01017,ORA-01017:用户名密码出错 故障实例
  10. NOD 32 企业版远程管理服务器病毒库更新失败_七夕小子_新浪博客
  11. 零基础安卓手游辅助开发入门视频教程
  12. zxing扫描二维码和识别图片二维码及其优化策略
  13. 自动化测试 | 这些常用测试平台,你们公司在用的是哪些呢?
  14. python的lambda函数妙用
  15. STM32F207ZG GPIO口学习
  16. MUI开发大全(小程序前端框架)
  17. POJ 2540 Hotter Colder(半平面交求可行域)
  18. 思科2018校招硬件测试笔试试题及答案
  19. 零基础小白应该怎么入门编程开发
  20. Android 10 文件读写权限申请

热门文章

  1. 艺术 几张产生视觉错觉的图片
  2. qt开关控件设计(手把手从零开始)
  3. 2020年滴春天,我认识了“飞桨PaddlePaddle”
  4. 6nm工艺的微观神话,于毫厘间雕刻5G的“神笔马良”
  5. 数据中台-让数据用起来-第一章笔记
  6. Qt配置MySql数据库驱动(Windows)
  7. h5中设置div中的内容水平并垂直居中
  8. Fri Feb 22 20:22:00 CST 2019字符串型转date
  9. Python3利用Twilio(国际)以及腾讯云服务(国内)免费发送手机短信
  10. Mybatis的插件分页原理