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

浙公网安备 33010602011771号