当前位置: 首页 > news >正文

RabbitMQ 的配置文件位置及常见配置项

一、RabbitMQ 配置文件位置

1. 默认配置文件位置

RabbitMQ 使用 rabbitmq.conf 作为主要配置文件。

系统

默认配置文件路径

Linux/macOS

/etc/rabbitmq/rabbitmq.conf

Windows

C:\Program Files\RabbitMQ Server\rabbitmq.conf

Docker 容器中

/etc/rabbitmq/rabbitmq.conf

(映射或构建镜像时指定)

你可以通过环境变量覆盖默认路径:

export RABBITMQ_CONFIG_FILE=/custom/path/rabbitmq
# 不加扩展名
# 实际读取的是 /custom/path/rabbitmq.conf

二、配置文件格式

RabbitMQ 3.7.0+ 开始使用 INI-like 格式(Key = Value),也支持旧版本的 Erlang 格式(advanced.config),但推荐使用新版格式。


三、常见配置项分类

1. 网络与监听设置

# RabbitMQ监听端口(默认5672,AMQP协议)
listeners.tcp.default = 5672# 绑定的IP地址(默认监听所有 0.0.0.0)
listeners.tcp.1 = 0.0.0.0:5672# 启用TLS/SSL
listeners.ssl.default = 5671
ssl_options.cacertfile = /etc/rabbitmq/ca_certificate.pem
ssl_options.certfile = /etc/rabbitmq/server_certificate.pem
ssl_options.keyfile = /etc/rabbitmq/server_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = true

2. 认证与权限

# 默认用户(管理用)
default_user = guest
default_pass = guest# 允许远程访问 guest 用户(默认false)
loopback_users.guest = false

3. 消息队列参数(性能)

# 单连接最大并发channel数
channel_max = 2048# 单消息最大字节数(默认128MB)
frame_max = 131072# 心跳检测时间(秒)
heartbeat = 60# 每个队列最大长度(条数)
# 注意:这通常通过策略(policy)而非配置文件设置

4. 持久化与存储

# 数据存储路径
# 默认:/var/lib/rabbitmq/mnesia/
# 使用磁盘节点时重要
node_data_dir = /var/lib/rabbitmq/mnesia/rabbit@hostname

5. 日志配置

# 日志文件路径
log.file = /var/log/rabbitmq/rabbit.log# 日志级别(debug, info, warning, error)
log.level = info

6. 插件配置(如管理界面、延时队列等)

# 启用management插件相关配置
management.tcp.port = 15672
management.load_definitions = /etc/rabbitmq/definitions.json

四、查看当前配置

# 查看RabbitMQ当前配置项
rabbitmqctl environment# 查看某项配置
rabbitmqctl environment | grep channel_max

五、参考命令

# 重启RabbitMQ服务
systemctl restart rabbitmq-server# 查看日志
tail -f /var/log/rabbitmq/rabbit.log

结语

  • 对于生产环境,建议禁用guest远程登录、启用TLS加密、合理设置队列和连接限制

  • 修改配置文件后需要重启 RabbitMQ 服务才能生效。

  • 使用 rabbitmq.conf + CLI 工具(如rabbitmqctl) 管理配置是标准实践。

http://www.dtcms.com/a/393497.html

相关文章:

  • Visual Prompt Builder-AI 提示词可视化工具
  • 一文掌握Flask:从基础使用到高级应用
  • 23种设计模式之【责任链模式】-核心原理与 Java 实践
  • 执行 conda update -n base -c defaults conda 后仍提示需要升级
  • 学习日报 20250921|NIO
  • 【Linux操作系统】Linux基础指令和权限
  • 谷歌nano banana官方Prompt模板
  • 基于Python大数据的新闻推荐分析
  • ​​[硬件电路-315]:AD7606BSTZ如何测量失调电压?
  • 微服务-分布式追踪 / 监控工具大全
  • The Library: 2靶场渗透
  • 金融知识“厦”乡趣 平安产险厦门分公司启动2025年“金融教育宣传周”活动
  • C++学习笔记——模板初阶
  • Windows 下 WSL2 生态:Ubuntu/Docker Desktop 关系、VLLM 部署差异与性能解析
  • 智能体技术革命:从华为金融智能体FAB看AI智能体的未来发展与行业影响
  • CIKM 2025 | FinCast:用于金融时间序列预测的基础模型
  • 论文解读——矩形隧道中MIMO信道特性的模态理论解释
  • Mac brew VSCode Python3
  • 【C++】list 的使用及迭代器底层详解
  • NumPy 系列(三):numpy 数组的索引
  • STL源码探秘(一):深入剖析List的迭代器设计与实现
  • PNP机器人九月具身智能引领FRANKA机器人具身智能技术创新与人形机器人产业全球化新格局,全球具身领先生态推动模型部署和泛化
  • ACP(八):用插件扩展答疑机器人的能力边界
  • 迁移学习:从理论到实践,让模型 “举一反三” 的核心技术
  • ACP(六)自动化评测机器人的表现
  • 【MySQL数据库】MySQL的第一步:从安装启动到用户权限配置的一站式实战指南
  • MySQL笔记7
  • 【C语言】C语言预处理详解,从基础到进阶的全面讲解
  • Spotify:递归嵌入与聚类(四)
  • 三种查询语言比较:SQL、SPL、PromQL