文件和目录位置
概述
每个 RabbitMQ 节点使用许多文件和目录来加载配置:存储数据、元数据、日志文件等。它们的位置可以更改。
本指南涵盖
- 如何自定义 RabbitMQ 节点使用的各种目录和文件的位置
- 各种操作系统上关键文件和目录的默认位置
- 与文件和目录位置相关的其他主题
本指南作为主要配置指南的补充。
覆盖位置
许多环境变量指定 RabbitMQ 应该在何处查找某些内容。在大多数环境中,默认值应该可以正常工作。
路径和目录名称限制
一些环境变量配置路径和位置(节点的基本目录或数据目录,插件源和扩展目录等)。这些路径必须排除一些字符
*
和?
(在 Linux、macOS、BSD 和其他类 Unix 系统上)^
和!
[
和]
{}
和}
上述字符将导致节点无法启动或按预期工作(例如,加载插件代码模块和其他文件)。
所需的文件和目录权限
更改文件或目录位置时,务必确保它们具有足够的权限,以便 RabbitMQ 节点操作系统进程能够读取和写入。最好假设 RabbitMQ 使用的大多数目录和文件都需要读取、写入和文件创建权限。
Debian、RPM、Homebrew 和 Windows 安装程序 包将设置适合大多数环境的文件系统权限,但是,当在系统范围内使用严格的默认权限时,可能需要在安装后执行其他配置步骤以确保 RabbitMQ 节点文件和目录具有足够的权限
环境变量
名称 | 描述 |
---|---|
RABBITMQ_BASE | 注意:Windows 专用。此基本目录包含 RabbitMQ 服务器的数据库和日志文件的子目录。与其分别覆盖RABBITMQ_MNESIA_BASE 和RABBITMQ_LOG_BASE,不如覆盖基本目录更简单。 |
RABBITMQ_CONFIG_FILE | 配置文件的路径,不包含 |
RABBITMQ_CONFIG_FILES | RabbitMQ 配置文件的新样式(.conf)格式目录的路径。这些文件将按字母顺序加载。以数字作为每个文件的前缀是一种常见的做法。有关更多信息,请参阅配置指南。 |
RABBITMQ_MNESIA_BASE | 此基本目录包含 RabbitMQ 服务器节点数据库、消息存储和集群状态文件的子目录,每个节点一个,除非显式设置了RABBITMQ_MNESIA_DIR。重要的是,有效的 RabbitMQ 用户始终具有足够的权限来读取、写入和创建此目录中的文件和子目录。此变量通常不会被覆盖。通常会改为覆盖 |
RABBITMQ_MNESIA_DIR | 存储此 RabbitMQ 节点数据的目录。这包括模式数据库、消息存储、集群成员信息和其他持久节点状态。 |
RABBITMQ_SCHEMA_DIR | RabbitMQ 保留其配置模式的目录,该模式由新样式配置文件使用。 |
RABBITMQ_LOG_BASE | 此基本目录包含 RabbitMQ 服务器的日志文件,除非设置了RABBITMQ_LOGS。 |
RABBITMQ_LOGS | RabbitMQ 服务器的 Erlang 日志文件的路径。此变量在 Windows 上不能被覆盖。 |
RABBITMQ_PLUGINS_DIR | 位于其中并从中提取插件存档文件的目录列表。这是一个类似于 |
RABBITMQ_PLUGINS_EXPAND_DIR | 用于在启动服务器时扩展已启用插件的工作目录。重要的是,有效的 RabbitMQ 用户具有足够的权限来读取和创建此目录中的文件和子目录。 |
RABBITMQ_ENABLED_PLUGINS_FILE | 此文件记录显式启用的插件。启用或禁用插件时,将重新创建此文件。重要的是,有效的 RabbitMQ 用户始终具有足够的权限来读取、写入和创建此文件。 |
RABBITMQ_PID_FILE | 放置进程 ID 的文件,供 |
Linux、macOS、BSD 上的默认位置
在下表中,指示了某些路径的${install_prefix}
。Debian 和 RPM 包安装使用空${install_prefix}
。
Homebrew 安装 在安装时使用**安装前缀**(Homebrew Cellar)。默认情况下,这在基于 Apple Silicon 的 Mac 上为/opt/homebrew
。
名称 | 位置 |
---|---|
RABBITMQ_BASE | (未使用 - 仅限 Windows) |
RABBITMQ_CONFIG_FILE |
|
RABBITMQ_MNESIA_BASE |
|
RABBITMQ_MNESIA_DIR |
|
RABBITMQ_LOG_BASE |
|
RABBITMQ_LOGS |
|
RABBITMQ_PLUGINS_DIR |
请注意,仅当 RabbitMQ安装到标准(默认)位置时,才会使用 |
RABBITMQ_PLUGINS_EXPAND_DIR |
|
RABBITMQ_ENABLED_PLUGINS_FILE |
|
RABBITMQ_PID_FILE |
|
Windows 上的默认位置
名称 | 位置 |
---|---|
RABBITMQ_BASE |
|
RABBITMQ_CONFIG_FILE |
|
RABBITMQ_MNESIA_BASE |
|
RABBITMQ_MNESIA_DIR |
|
RABBITMQ_LOG_BASE |
|
RABBITMQ_LOGS |
|
RABBITMQ_PLUGINS_DIR | 安装目录 |
RABBITMQ_PLUGINS_EXPAND_DIR |
|
RABBITMQ_ENABLED_PLUGINS_FILE |
|
RABBITMQ_PID_FILE | (当前不支持) |
通用二进制构建默认值
这些是在解压缩通用二进制构建存档而不进行任何修改时获得的默认值。在此表中,$RABBITMQ_HOME
指的是提取存档后生成的目录。
对于使用相同包类型但对其进行大量自定义的安装选项(例如Homebrew 公式),这些路径不相关。
名称 | 位置 |
---|---|
RABBITMQ_BASE | (未使用) |
RABBITMQ_CONFIG_FILE |
|
RABBITMQ_MNESIA_BASE |
|
RABBITMQ_MNESIA_DIR |
|
RABBITMQ_LOG_BASE |
|
RABBITMQ_LOGS |
|
RABBITMQ_PLUGINS_DIR |
|
RABBITMQ_PLUGINS_EXPAND_DIR |
|
RABBITMQ_PID_FILE |
|