RabbitMQ首次安装登陆User can only log in via localhost

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ首次安装登陆User can only log in via localhost相关的知识,希望对你有一定的参考价值。

参考技术A RabbitMQ默认提供了一个guest/guest用户,但是从3.3.0 版本以后该账号只能localhost登陆(User can only log in via localhost),解决办法就是我们通过命令行创建一个管理员账号。

通过heip命令我们可以找到rabbitmq操作用户和权限相关的命令

通过以下命令创建一个用户admin,密码为admin@123

创建完成之后通过以下命令设置用户标签为administrator

给用户admin赋予权限,授予admin用户可访问虚拟主机 /,并在所有的资源上具备可配置、可写及可读的权限

这样我们就完成了一个用户的创建,通过以下命令可以看出当前的所有用户

最后一步,我们就可以用admin登陆管理界面啦

 

查看rabbitmq相关命令的方法

docker安装rabbitmq 并安装插件创建用户授权 Stats in management UI are disabled on this node

拉取镜像&创建容器

docker hub 搜索rabbitmq

以安装rabbitmq3.8.27版本为例,拉取镜像

docker pull rabbitmq:3.8.27

创建容器并启动容器、指定管理员账号

docker run -d  -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=用户名 -e RABBITMQ_DEFAULT_PASS=密码 --name 自定义容器名称 rabbitmq:3.8.27

docker run命令参数解释

  • -p 宿主机端口:容器端口
    指定宿主机与容器的端口映射,如果有个映射,则多个-p

  • -e 设置环境变量
    这里设置了rabbitmq的管理员账号

  • -d 在后台运行容器并且打印容器的id

下载&安装插件

比如下载延迟插件,根据文档rabbitmq3.8.27对应的插件3.8.17

从宿主机复制到容器内,插件在容器的/plugins目录内

docker cp 插件名称 容器id:/plugins

进入容器

docker exec -it 容器id /bin/bash
  • -t 分配一个pseudo-TTY
  • -i Keep STDIN open even if not attached

启用插件

启用延迟插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启动管理插件

rabbitmq-plugins enable rabbitmq_management

查看已启动的插件

rabbitmq-plugins list --enabled

rabbitmq安装插件的大致过程

  • 首先下载到本地,解压到目标目录
  • 启用插件,比如rabbitmq-plugins enable rabbitmq_delayed_message_exchange

创建用户

rabbitmqctl add_user 用户名 密码
rabbitmqctl set_user_tags 用户名 administrator
rabbitmqctl set_permissions 用户名 "." "." ".*"

Stats in management UI are disabled on this node

rabbitmq有个web ui端,端口通常是15672,http://ip:15672
点击时,提示Stats in management UI are disabled on this node,经参考Stats in management UI are disabled on this node,需要开启management ui,大体步骤是进入docker、修改配置、重启rabbitmq

docker exec -it containerId /bin/bash
cd /etc/rabbitmq/conf.d/
vim management_agent.disable_metrics_collector.conf

将禁用改为false

management_agent.disable_metrics_collector = false

重启docker

docker restart containerId

以上是关于RabbitMQ首次安装登陆User can only log in via localhost的主要内容,如果未能解决你的问题,请参考以下文章

docker安装rabbitmq 并安装插件创建用户授权 Stats in management UI are disabled on this node

用这个【Navicat for MySQL】提示2003 - can't connect to MySQL server on 'localhost' 10060

Linux安装rabbitmq (解决guest无法登陆问题)

RabbitMQ 3.8.5版本 windows安装和web管理界面登陆

解决方案-Genymotion 首次安装登陆时出现generic unknown error

解决方案-Genymotion 首次安装登陆时出现generic unknown error