1.查看RabbitMQ镜像:
执行 docker search rabbitmq
2.拉取abbitMQ镜像:(这里是默认拉取最新的,也可以在后面指定版本)
执行 docker pull rabbitmq 然后docker images 查看拉取的镜像包
3.启动RabbitMQ
docker run -d --hostname jonpgo_host_rabbit --name jonpgo_rabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=root -p 15672:15672 -p 5672:5672 rabbitmq:management
说明:
-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件(根据自行需要配置);
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)
4.安装web管理插件rabbitmq_management
注意:不安装web管理插件,通过http://ip:15672可能访问不了,或者台管理页面点击 Channels 报错,提示Stats in management UI are disabled on this node。
1)先执行docker ps 拿到当前的镜像ID
2)进入rabbitMq容器:
docker exec -it {rabbitmq容器id} /bin/bash
我的:docker exec -it jonpgo_rabbit /bin/bash
3)查看配置文件
cat /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
4)将配置文件内容,true改为false:
cd /etc/rabbitmq/conf.d/
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
5).退出容器:
exit
6)输入指令,安装插件:
docker exec -it {rabbitmq容器名称或者id} rabbitmq-plugins enable rabbitmq_management
我的:docker exec -it jonpgo_rabbit rabbitmq-plugins enable rabbitmq_management
5.重启容器:
docker restart {rabbitmq容器id}
6 浏览器访问地址:
http://ip地址:15672,这里的用户名和密码默认都是guest
http://192.168.6.168:15672/#/
消息中间件RabbitMQ常用的的6个端口的作用:
端口 | 作用 |
---|---|
15672 | 管理界面ui使用的端口 |
15671 | 管理监听端口 |
5672,5671 | AMQP 0-9-1 without and with TLSclient端通信口 |
4369 | (epmd)epmd代表 Erlang端口映射守护进程,erlang发现口 |
25672 | ( Erlang distribution) server间内部通信口 |
注意:为了省事,推荐直接拉取有managment的镜像,它自带web管理,不需要再手动安装;
如果docker pull rabbitmq后面不带management,启动rabbitmq后是会报错的的(,所以要下载带management插件的rabbitMQ。
例如:安装指定版本有managment的镜像,也可不带版本编号,docker pull rabbitmq:management
docker pull rabbitmq:3.20-management
7 下载延迟插件
在 RabbitMQ 的 3.5.7 版本之后,提供了一个插件(rabbitmq-delayed-message-exchange)来实现延迟队列 ,同时需保证 Erlang/OPT 版本为 18.0 之后。
我这里 MQ 的版本是 3.9.11,现在去 GitHub 上根据版本号下载插件
点击插件下载地址(保证自己rabbitmq和插件版本对应)
问题:如何查看rabbitmq版本
登录账号
8 安装插件并启用
我用的是 Docker 客户端,下载完成后直接把插件放在 C 盘的根目录,然后拷贝到容器内plugins目录下(jonpgo_rabbit是容器的name,也可以使用容器id)
docker cp /rabbitmq_delayed_message_exchange-3.10.2.ez jonpgo_rabbit:/plugins
9 进入 Docker 容器
docker exec -it jonpgo_rabbit /bin/sh
10 查看插件是否存在
cd plugins
ls |grep delay
11 在plugins内启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
12 退出容器
exit
13 重启 RabbitMQ
docker restart jonpgo_rabbit
14 设置虚拟路径
容器启动成功之后,登录RabbitMQ的管理页面,找到ExchangesTab页。点击Add a new exchange,在Type里面查看是否有x-delayed-message选项,如果存在就代表插件安装成功。
15 新增增一个用户
这个用户就是连接项目的时候使用的用户名以及密码
16 比如我们使用的php 项目现在启动就可以愉快的玩耍啦 完成的朋友记得点个赞呦