RabbitMQ 使用的所有环境变量都使用“RABBITMQ_”前缀(除非在 rabbitmq-env.conf 或 rabbitmq-env-conf.bat 中定义)。
在 Shell 环境中设置的环境变量优先于在 rabbitmq-env.conf 或 rabbitmq-env-con.bat 中设置的环境变量。而 rabbitmq-env.conf 或 rabbitmq-env-con.bat 中设置的环境变量会覆盖 RabbitMQ 的内置缺省值。
下表描述了可用于配置 RabbitMQ 的关键环境变量:
名称 | 描述 |
---|---|
RABBITMQ_NODE_IP_ADDRESS | 如果您只想绑定到一个网络接口,请更改此设置。 可以在配置文件中设置绑定到两个或多个接口。 默认:一个空字符串,意思是“绑定到所有网络接口”。 |
RABBITMQ_NODE_PORT | 有关 RabbitMQ 各个部分使用的端口的更多信息,请参阅网络指南。 默认:5672 |
RABBITMQ_DIST_PORT | 用于节点间和 CLI 工具通信的端口。如果节点配置文件设置 kernel.inet_dist_listen_min 或 kernel.inet_dist_listen_max 键,则忽略。有关详细信息,请参阅网络,有关特定于 Windows 的详细信息,请参阅 Windows Quirks。 默认:RABBITMQ_NODE_PORT + 20000 |
ERL_EPMD_ADDRESS | epmd 使用的接口,节点间和 CLI 工具通信中的组件。 默认:所有可用的接口,包括 IPv6 和 IPv4。 |
ERL_EPMD_PORT | epmd 使用的端口,节点间和 CLI 工具通信中的组件。 默认:4369 |
RABBITMQ_DISTRIBUTION_BUFFER_SIZE | 用于节点间通信连接的传出数据缓冲区大小限制,以千字节为单位。不建议使用低于 64 MB 的值。 默认:128000 |
RABBITMQ_NODENAME | 每个 Erlang-node-and-machine 组合的节点名称应该是唯一的。要运行多个节点,请参阅集群指南。 默认:
|
RABBITMQ_CONFIG_FILE | 主 RabbitMQ 配置文件路径,例如 /etc/rabbitmq/rabbitmq.conf 或 /data/configuration/rabbitmq.conf 用于新样式的配置格式文件。如果使用经典配置格式,则扩展名必须为 .config 默认:
|
RABBITMQ_CONFIG_FILES | 新式 (.conf) 格式的 RabbitMQ 配置文件目录的路径。文件将按字母顺序加载。为每个文件加上一个数字前缀是一种常见的做法。 默认:
|
RABBITMQ_ADVANCED_CONFIG_FILE | “Advanced”(基于 Erlang 术语的)RabbitMQ 配置文件路径,带有 .config 文件扩展名。例如,/data/rabbitmq/advanced.config。 默认:
|
RABBITMQ_CONF_ENV_FILE | 包含环境变量定义的文件的位置(没有 RABBITMQ_ 前缀)。请注意,Windows 上的文件名与其他操作系统不同。 默认:
|
RABBITMQ_MNESIA_BASE | 此基本目录包含 RabbitMQ 服务器的节点数据库、消息存储和集群状态文件的子目录,每个节点一个,除非明确设置 RABBITMQ_MNESIA_DIR。 重要的是,有效的 RabbitMQ 用户有足够的权限随时在此目录中读取、写入和创建文件和子目录。 此变量通常不会被覆盖。 通常 RABBITMQ_MNESIA_DIR 会被覆盖。 默认:
|
RABBITMQ_MNESIA_DIR | 存储此 RabbitMQ 节点数据的目录。这包括模式数据库、消息存储、集群成员信息和其他持久节点状态。 默认:
|
RABBITMQ_PLUGINS_DIR | 插件存档文件所在的目录列表并从中提取。 这是类似 PATH 的变量,其中不同的路径由特定于操作系统的分隔符分隔(: 用于 Unix,; 用于 Windows)。 插件可以安装到此处列出的任何目录中。 不得包含路径限制部分中提到的任何字符。 默认:
|
RABBITMQ_PLUGINS_EXPAND_DIR | 节点展开(解包)插件的目录并将其用作代码路径位置。 不得包含路径限制部分中提到的任何字符。 默认:
|
RABBITMQ_USE_LONGNAME | 当设置为 true 时,这将导致 RabbitMQ 使用完全限定的名称来标识节点。 这在使用完全限定域名或使用 IP 地址作为主机名或节点名的一部分的环境中可能很有用。 请注意,如果不重置节点,则无法将节点从短名称切换为长名称。 默认:false |
RABBITMQ_SERVICENAME | 已安装的 Windows 服务的名称。 这将出现在 services.msc 中。 默认:RabbitMQ |
RABBITMQ_CONSOLE_LOG | 将此变量设置为 new 或重新使用以将控制台输出从服务器重定向到默认 RABBITMQ_BASE 目录中名为 %RABBITMQ_SERVICENAME% 的文件。
默认:(none) |
RABBITMQ_SERVER_CODE_PATH | 启动运行时指定的额外代码路径(目录)。 将在节点启动时传递给 erl 命令。 默认:(none) |
RABBITMQ_CTL_ERL_ARGS | 调用 rabbitmqctl 时使用的 erl 命令的参数。 这可以设置为指定用于 Erlang 分发的端口范围: -kernel inet_dist_listen_min 35672 -kernel inet_dist_listen_max 35680默认:(none) |
RABBITMQ_SERVER_ERL_ARGS | 调用 RabbitMQ 服务器时使用的 erl 命令的标准参数。 这应该仅出于调试目的而被覆盖。 覆盖此变量将替换默认值。 默认:
|
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS | 调用 RabbitMQ 服务器时使用的 erl 命令的附加参数。此变量的值附加到默认参数列表 (RABBITMQ_SERVER_ERL_ARGS)。 默认:
|
RABBITMQ_SERVER_START_ARGS | 调用 RabbitMQ 服务器时使用的 erl 命令的额外参数。这不会覆盖 RABBITMQ_SERVER_ERL_ARGS。 默认:(none) |
RABBITMQ_DEFAULT_USER | 此环境变量仅用于开发和 CI 环境。 这与 rabbitmq.conf 中的 default_user 含义相同,但优先级更高。 在无法提供配置文件的情况下,此选项可能更方便,并且环境变量是播种用户的唯一方法。 默认:(none) |
RABBITMQ_DEFAULT_PASS | 此环境变量仅用于开发和 CI 环境。 这与 rabbitmq.conf 中的 default_pass 含义相同,但优先级更高。 在无法提供配置文件的情况下,此选项可能更方便,并且环境变量是播种用户的唯一方法。 默认:(none) |
RABBITMQ_DEFAULT_VHOST | 此环境变量仅用于开发和 CI 环境。 这与 rabbitmq.conf 中的 default_vhost 含义相同,但优先级更高。 在无法提供配置文件并且环境变量是播种用户和虚拟主机的唯一方法的情况下,此选项可能更方便。 默认:(none) |
除了上面列出的变量,还有几个环境变量告诉 RabbitMQ 在哪里找到它的数据库、日志文件、插件、配置等等。
最后,一些环境变量是特定于操作系统的。
名称 | 描述 |
---|---|
HOSTNAME | 当前机器的名称。 默认:
|
COMPUTERNAME | 当前机器的名称。 默认:
|
ERLANG_SERVICE_MANAGER_PATH | 此路径是 erlsrv.exe(Erlang 服务包装脚本)的位置。 默认:
|