RabbitMQ3.x之八_RabbitMQ中数据文件和目录位置

RabbitMQ3.x之_RabbitMQ中数据文件和目录位置

文章目录

  • RabbitMQ3.x之_RabbitMQ中数据文件和目录位置
  • 1. 概述
  • 2. 覆盖位置
    • 1. 路径和目录名称限制
    • 2.所需的文件和目录权限
  • 3. 环境变量
  • 4. Linux、macOS、BSD上的默认位置
  • 5. Windows上的默认位置
  • 6. 通用二进制构建默认值

1. 概述

每个 RabbitMQ 节点都使用许多文件和目录 加载配置:存储数据、元数据、日志文件等。 它们的位置可以更改。

本指南涵盖:

  • 如何自定义所用 RabbitMQ 节点的各种目录和文件的位置
  • 各种操作系统上密钥文件和目录的默认位置
  • 与文件和目录位置相关的其他主题

本指南随附主配置指南

2. 覆盖位置

许多环境变量指定其中 RabbitMQ 应该定位某些东西。在大多数环境中,默认 值应该工作正常。

1. 路径和目录名称限制

一些环境变量配置路径和位置(节点的基目录或数据目录、插件源和扩展目录、 等等)。这些路径必须排除许多字符:

  • *(在 Linux、macOS、BSD 和其他类 UNIX 系统上)?
  • ^!
  • []
  • {}}

上述字符将导致节点无法按预期启动或运行(例如加载插件代码模块和其他文件)。

2.所需的文件和目录权限

更改文件或目录位置时,请务必 确保他们有足够的权限来使用 RabbitMQ 要从中读取和写入的节点操作系统进程。最好假设 RabbitMQ 使用的大多数目录和文件都需要读取, 写入权限和文件创建权限。

DebianRPMHomebrewWindows 安装程序包 将设置适合大多数的文件系统权限 但是,当严格的默认权限是 在系统范围内使用,可能需要运行其他 安装后的配置步骤,以确保 RabbitMQ 节点 文件和目录具有足够的权限

3. 环境变量

名字 描述
RABBITMQ_BASE 注意:特定于 Windows。此基目录包含 RabbitMQ 服务器数据库的子目录和 日志文件。与其凌驾于RABBITMQ_MNESIA_BASE之上,逐一RABBITMQ_LOG_BASE, 改为覆盖基目录可能更容易。
RABBITMQ_CONFIG_FILE 配置文件的路径,不带 扩展名。如果 配置 文件存在,服务器使用它来配置 RabbitMQ 组件。有关详细信息,请参阅配置指南.config
RABBITMQ_CONFIG_FILES 新样式 (.conf) 格式的 RabbitMQ 配置文件目录的路径。 文件将按字母顺序加载。在每个文件前面加上一个数字 是一种常见的做法。有关详细信息,请参阅配置指南
RABBITMQ_MNESIA_BASE 此基目录包含 RabbitMQ 的子目录 服务器的节点数据库、消息存储库和集群状态文件,每个节点一个, 除非RABBITMQ_MNESIA_DIR是明确设置的。 有效的 RabbitMQ 用户必须有足够的权限 读取、写入和创建此目录中的文件和子目录 任何时候。 此变量通常不会被覆盖。通常被覆盖。RABBITMQ_MNESIA_DIR
RABBITMQ_MNESIA_DIR 存储此 RabbitMQ 节点数据的目录。这包括 模式数据库、消息存储库、集群成员信息等 持久节点状态。
RABBITMQ_SCHEMA_DIR RabbitMQ 保存其配置架构的目录,用于 新样式配置文件
RABBITMQ_LOG_BASE 此基目录包含 RabbitMQ 服务器的日志 文件,除非设置了RABBITMQ_LOGS
RABBITMQ_LOGS RabbitMQ 服务器的 Erlang 日志文件的路径。这 变量不能在 Windows 上被覆盖。
RABBITMQ_PLUGINS_DIR 插件归档文件所在的目录列表 从。这是类似 -的变量,其中 不同的路径由特定于操作系统的分隔符分隔 (适用于 Unix,适用于 Windows)。 插件可以安装到任何 此处列出的目录。PATH``:``;
RABBITMQ_PLUGINS_EXPAND_DIR 用于在启动时扩展已启用插件的工作目录 服务器。是的 重要的是有效的 RabbitMQ 用户具有足够的权限 读取和创建此目录中的文件和子目录。
RABBITMQ_ENABLED_PLUGINS_FILE 此文件记录显式启用的插件。当插件 启用或禁用,将重新创建此文件。是的 重要的是有效的 RabbitMQ 用户具有足够的权限 随时读取、写入和创建此文件。
RABBITMQ_PID_FILE 将进程 ID 放置在其中以供 使用的文件。rabbitmqctl wait

4. Linux、macOS、BSD上的默认位置

在下表中,指示了一些路径。Debian 和 RPM 软件包安装使用空的 .${install_prefix}``${install_prefix}

Homebrew 安装在安装时使用 installation-prefix (Homebrew Cellar)。由 默认情况下,这是在基于 Apple Silicon 的 Mac 上。/opt/homebrew

名字 位置
RABBITMQ_BASE (未使用 - 仅限 Windows)
RABBITMQ_CONFIG_FILE ${install_prefix}/etc/rabbitmq/rabbitmq
RABBITMQ_MNESIA_BASE ${install_prefix}/var/lib/rabbitmq/mnesia
RABBITMQ_MNESIA_DIR $RABBITMQ_MNESIA_BASE/$RABBITMQ_NODENAME
RABBITMQ_LOG_BASE ${install_prefix}/var/log/rabbitmq
RABBITMQ_LOGS $RABBITMQ_LOG_BASE/$RABBITMQ_NODENAME.log
RABBITMQ_PLUGINS_DIR /usr/lib/rabbitmq/plugins:$RABBITMQ_HOME/plugins请注意,仅当 RabbitMQ 安装到标准(默认)位置时才使用。/usr/lib/rabbitmq/plugins
RABBITMQ_PLUGINS_EXPAND_DIR $RABBITMQ_MNESIA_BASE/$RABBITMQ_NODENAME-plugins-expand
RABBITMQ_ENABLED_PLUGINS_FILE ${install_prefix}/etc/rabbitmq/enabled_plugins
RABBITMQ_PID_FILE $RABBITMQ_MNESIA_DIR.pid

5. Windows上的默认位置

名字 位置
RABBITMQ_BASE %APPDATA%\RabbitMQ
RABBITMQ_CONFIG_FILE %RABBITMQ_BASE%\rabbitmq
RABBITMQ_MNESIA_BASE %RABBITMQ_BASE%\db
RABBITMQ_MNESIA_DIR %RABBITMQ_MNESIA_BASE%\%RABBITMQ_NODENAME%-mnesia
RABBITMQ_LOG_BASE %RABBITMQ_BASE%\log
RABBITMQ_LOGS %RABBITMQ_LOG_BASE%\%RABBITMQ_NODENAME%.log
RABBITMQ_PLUGINS_DIR 安装目录/plugins
RABBITMQ_PLUGINS_EXPAND_DIR %RABBITMQ_MNESIA_BASE%\%RABBITMQ_NODENAME%-plugins-expand
RABBITMQ_ENABLED_PLUGINS_FILE %RABBITMQ_BASE%\enabled_plugins
RABBITMQ_PID_FILE (目前不支持)

6. 通用二进制构建默认值

这些是通用二进制文件构建时获得的默认值 存档无需任何修改即可解压缩。在 此表是指 到提取存档时生成的目录。$RABBITMQ_HOME

这些路径与使用相同包类型但大量使用的安装选项无关 自定义它,例如 Homebrew 公式

名字 位置
RABBITMQ_BASE (未使用)
RABBITMQ_CONFIG_FILE $RABBITMQ_HOME/etc/rabbitmq/rabbitmq
RABBITMQ_MNESIA_BASE $RABBITMQ_HOME/var/lib/rabbitmq/mnesia
RABBITMQ_MNESIA_DIR $RABBITMQ_MNESIA_BASE/$RABBITMQ_NODENAME
RABBITMQ_LOG_BASE $RABBITMQ_HOME/var/log/rabbitmq
RABBITMQ_LOGS $RABBITMQ_LOG_BASE/$RABBITMQ_NODENAME.log
RABBITMQ_PLUGINS_DIR $RABBITMQ_HOME/plugins
RABBITMQ_PLUGINS_EXPAND_DIR $RABBITMQ_MNESIA_BASE/$RABBITMQ_NODENAME-plugins-expand
上一篇:Git回滚操作,工作区和暂存区恢复修改删除的文件


下一篇:蓝桥杯备考随手记: 递归