rabbitmq-docker 单机版

创建目录

sudo mkdir -p /app/rabbitmq/{data,log}

sudo mkdir -p /app/rabbitmq/conf/rabbitmq.conf

sudo chmod 777 -R /app/rabbitmq/log

创建compose 

services:
  rabbitmq:
    #image: rabbitmq:3.13-management
    image: rabbitmq:4.3-management
    container_name: rabbitmq
    hostname: rabbitmq68
    restart: unless-stopped
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_DEFAULT_USER: ${rabbitmq_user}
      RABBITMQ_DEFAULT_PASS: ${rabbitmq_pass}
      RABBITMQ_DEFAULT_VHOST: /
    ports:
      # AMQP
      - "5672:5672"
      # 管理界面
      - "15672:15672"
      # 集群通信
      - "25672:25672"
      # Prometheus监控
      - "15692:15692"
    volumes:
      - ./data:/var/lib/rabbitmq
      - ./log:/var/log/rabbitmq
      - ./conf/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
    healthcheck:
      test:
        [
          "CMD",
          "rabbitmq-diagnostics",
          "-q",
          "ping"
        ]
      interval: 30s
      timeout: 10s
      retries: 5

    logging:
      driver: json-file
      options:
        max-size: 100m
        max-file: 5

创建rabbitmt配置

cat conf/rabbitmq.conf 


#################################
# 基础
#################################
# 时区
log.console = true
#################################
# 数据持久化
#################################
# 默认消息持久化
# DeliveryMode=2
# 队列默认持久化
queue_index_embed_msgs_below = 4096

#################################
# 磁盘保护
#################################
# 磁盘剩余空间低于20G停止生产消息
disk_free_limit.absolute = 20GB
#################################
# 内存保护
#################################
# 使用50%物理内存触发保护
vm_memory_high_watermark.relative = 0.4
#################################
# 网络连接
#################################
# TCP心跳
heartbeat = 60
# 最大连接
connection_max = 2000
# 最大channel
channel_max = 2048

#################################
# 性能优化
#################################
# TCP backlog
tcp_listen_options.backlog = 4096
#################################
# 管理插件
#################################
management.tcp.port = 15672
#################################
# Prometheus监控
#################################
prometheus.tcp.port = 15692
#################################
# 日志
#################################
log.file.level = info

default_queue_type = quorum

创建目录变量

cat .env 


rabbitmq_user=admin
rabbitmq_pass=密码

创建业务用户

docker exec -it rabbitmq /bin/bash

#创建用户
rabbitmqctl add_user appuser 'AppPass@123'

#授权用户
rabbitmqctl set_permissions -p / appuser ".*" ".*" ".*"

#需要用户可以登录web 给管理标签
rabbitmqctl set_user_tags appuser administrator

#查看用户
rabbitmqctl list_users

 

posted @ 2026-08-04 13:44  追梦$少年  阅读(7)  评论(0)    收藏  举报