前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java与RabbitMQ(二)启动rabbitmq web管理后台插件

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

作者头像
青山师
发布2023-05-04 20:06:56
8920
发布2023-05-04 20:06:56
举报

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)就可以看到可用的插件了:

代码语言:javascript
复制
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

代码语言:javascript
复制
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@WIN-VDB8K51IQ2Q... started 6 plugins.

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

从JSON文件导入配置

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

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

这里写图片描述
这里写图片描述

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

代码语言:javascript
复制
{
	"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、登录账户的信息、虚拟主机的信息、以及队列、交换器、绑定目前都是空的。 我们可以增加一个队列,然后导入配置。

代码语言:javascript
复制
{
    "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这些栏目下面的功能自己动手试试吧,和用户管理差不多哦。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么需要management插件
  • management 插件的功能
  • 启动rabbitmq web管理后台插件
  • 从JSON文件导入配置
    • 从web页面导出服务器配置json形式文件
    • 从web控制台添加用户
    • 管理用户的权限
    • 其他功能
    相关产品与服务
    轻量应用服务器
    轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档