it编程 > 前端脚本 > Erlang

关于rabbitmq(docker)部署,启动,访问,连接一系列问题最全面解决办法与思路,rabbitmq报私密连接,user can only log in via localhost,页面访问失败

164人参与 2024-08-01 Erlang

部署:

查看镜像文件:docker search rabbitmq

拉取镜像:(注意:这里需要配置国内镜像源,不然很慢)

下面二选一拉取镜像:
docker pull rabbitmq  	#拉取进行镜像
或
docker pull rabbitmq:3.8.14	#拉取指定版本镜像

查看镜像:docker images

启动:(注意:如果是需要使用mqtt协议,一定要开启1883端口和mqtt插件)

docker run -d --name rabbitmq -v /usr/local/rabbitmq:/etc/rabbitmq -p 15672:15672 -p 5672:5672 -p 1883:1883 --restart=always rabbitmq:latest

参数说明:

-d :表示作为守护进程在后台运行;
–name:容器命名为rabbitmq;
-p:表示端口映射,<宿主机端口>:<容器端口>,这里开启了15672、5672和1883端口映射,1883是rabbitmq的mqtt服务默认端口号;
-v:将容器中的目录挂载到宿主机上,<宿主机>:<容器>
–restart=always:设置容器自动启动
最后的rabbitmq:版本号,表示构建使用的镜像

查看容器是否启动成功:

docker ps

访问:

1.关闭防火墙,或者开放对应端口,否者会报404

2.然后使用cmd命令窗口,检查端口是否通信正常(自己ip,port)

3.浏览器访问客户端页面

如果上面端口可以通信,但是浏览器确加载不了登陆页面,需要检查客户端页面插件是否开启

开启插件:首先使用命令进入容器

docker exec -it 容器名称 bash         #进入容器   
rabbitmq-plugins enable rabbitmq_management  #开启插件

如果输入账号密码后显示不是私密连接(原因:账号密码错误,默认账户密码都是 guest

使用guest账号密码登录爆user can only log in via localhost 出现下面画面(原因:需要创建新用户,guest用户子允许localhost访问)

创建新用户:(以下命令需要进入容器执行)

创建用户:rabbitmqctl  add_user  username  password  (自己的账号密码)

查看当前用户列表 :rabbitmqctl  list_users

设定角色:rabbitmqctl  set_user_tags  username  administrator  (设定管理员权限)

然后在使用你新创建的用户访问基本就能成功

登录成功后记得给当前用户设定权限:

(上面是amqp协议)如果你需要使用mqtt协议,则需要在开始mqtt协议插件,不然连接不成功

开启mqtt协议插件命令(需要进入容器执行命令

进入容器: docker exec -it 容器id /bin/bash

开启插件:rabbitmq-plugins enable rabbitmq_management rabbitmq_mqtt

注意:一定要开启1883端口,因为mqtt默认端口是1883,不然很有可能连接失败,开始后使用mqttx工具进行测试连接

最后就可以访问成功了,代码也可以成功连接

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

消息队列-RabbitMQ

08-01

Erlang、RabbitMQ下载与安装教程(windows超详细)

08-01

RabbitMQ 安装&体验

08-01

windows安装rabbitmq和环境erlang(最详细版,包括对应关系,安装错误解决方法)_erlang和rabbitmq关系

08-01

Elasticsearch的使用教程

08-02

【RabbitMQ】使用手册

07-31

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论