安装 Rabbitmq (Docker )

328 阅读3分钟

4K风景壁纸_1_陆境雅集_来自小红书网页版.jpg

Rabbitmq 官方文档www.rabbitmq.com/networking.…

拉取镜像

docker pull rabbitmq:management

启动容器

# 运行 RabbitMQ 容器,并设置相关端口映射和管理插件
docker run -d \
  --name rabbitmq \ # 为容器命名为 rabbitmq
  -p 5671:5671 \ # 映射 AMQP 5671 端口(用于 TLS 加密通信)
  -p 5672:5672 \ # 映射 AMQP 5672 端口(标准端口)
  -p 4369:4369 \ # 映射 EPMD(Erlang Port Mapper Daemon)端口,用于节点发现
  -p 25672:25672 \ # 映射 Erlang 分布式通信端口(集群通信)
  -p 15671:15671 \ # 映射 RabbitMQ 管理插件的 HTTPS 端口
  -p 15672:15672 \ # 映射 RabbitMQ 管理插件的 HTTP 端口(默认管理界面访问)
  rabbitmq:management # 使用带有管理插件的 RabbitMQ 镜像

注释说明:

  • -d:表示容器在后台运行(detached mode)。
  • --name rabbitmq:为容器指定一个名称,便于后续管理。
  • -p:用于端口映射,将容器内的端口映射到宿主机的对应端口。
    • 56715672:RabbitMQ 的标准通信端口,5672 是默认端口,5671 用于 TLS 加密通信。
    • 4369:用于 Erlang 节点发现(EPMD 端口)。
    • 25672:用于 RabbitMQ 集群内部通信。
    • 1567115672:RabbitMQ 管理插件的端口,15672 是 HTTP 访问端口,15671 是 HTTPS 访问端口(默认不启用 HTTPS)。
  • rabbitmq:management:使用带有管理插件的 RabbitMQ 镜像,方便通过浏览器访问管理界面。

启用管理插件

进入容器

docker exec -it rabbitmq /bin/bash

启用插件

rabbitmq-plugins enable rabbitmq_management

访问测试

http://<替换为实际 ip>:15672/#/

创建新用户

# 添加用户 名字 root 密码 123456
rabbitmqctl add_user root 123456
# 设置为管理员
rabbitmqctl set_user_tags root administrator
# 授予权限
rabbitmqctl set_permissions -p "/" root ". *" ".* " ".*"

现在可以使用该用户登录可视化管理后台或者在项目中连接 Rabbitmq 了。

安装延时插件(根据需要选择)

如果有需要实现延时队列的需求可以安装延时插件。

下载插件

下载地址:Releases · rabbitmq/rabbitmq-delayed-message-exchange

image.png

拷贝文件

把插件文件拷贝到容器内 /plugins 目录下

docker cp /mydata/rabbitmq_delayed_message_exchange-4.0.2.ez rabbitmq:/plugins

启用插件

# 进入容器
docker exec -it rabbitmq /bin/bash

# 启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

注意:如果项目中使用了延时交换机,一定要先安装好延时插件再启动项目,缺少相应插件启动会导致不能成功自动创建队列,报队列不存在等一系列的错误。

Rabbitmq 项目实战

推荐一个可用于练手、毕业设计参考、增加简历亮点的项目。

参考项目:lemon-puls/txing-oj-backend: Txing 在线编程学习平台,集在线做题、编程竞赛、即时通讯、文章创作、视频教程、技术论坛为一体