WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

RabbitMQ系列(五) RabbitMQ的文件和目录位置

Posted on   WebEnh  阅读(1048)  评论(0编辑  收藏  举报

概述

每个RabbitMQ节点使用一些文件和目录,用于加载配置、存储数据 / 元数据 / 日志文件等等。这些文件和目录的位置是可以自定义的。

本指南涵盖:
1)如何自定义RabbitMQ节点所使用的各种目录和文件的位置;
2)各种不同操作系统的默认位置;
3)关于文件和目录位置的其他相关主题;

路径和目录名称限制

一些环境变量配置路径和位置(节点的基目录或数据目录、插件目录和扩展目录等等)。这些路径必须排除一些字符:
1)* 和 ?(Linux, macOS, BSD和其他类UNIX系统);
2)^ 和 !(Windows);
3)[ 和 ];
4){ 和 };
上述字符将使节点无法启动或按预期运行(例如,展开插件并加载它们的元数据)。

在更改文件或目录位置时,务必确保RabbitMQ节点对应的OS进程拥有足够的读写权限。最好假设RabbitMQ使用的大多数目录和文件都需要读、写和文件创建权限。Debian、RPM和Windows安装脚本将设置适用于大多数环境的文件系统权限。然而,当系统范围内使用严格的默认权限时,可能需要在安装后运行额外的配置步骤,以确保RabbitMQ节点文件和目录具有足够的权限。

环境变量

名称描述
RABBITMQ_BASE 只针对Windows系统。这个基目录包含RabbitMQ服务器的数据库和日志文件的子目录。或者分别设置RABBITMQ_MNESIA_BASE和RABBITMQ_LOG_BASE环境变量。
RABBITMQ_CONFIG_FILE 配置文件的路径,没有.config扩展名。如果有配置文件,服务器将使用它来配置RabbitMQ组件。
RABBITMQ_GENERATED_CONFIG_DIR 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 RabbitMQ的插件目录。这是类路径变量,不同的路径由特定于操作系统的分隔符(Unix为:,Windows为;)。
RABBITMQ_PLUGINS_EXPAND_DIR 工作目录,用于在启动服务器时展开启用的插件。重要的是,有效的RabbitMQ用户拥有足够的权限来读取和创建该目录中的文件和子目录。
RABBITMQ_ENABLED_PLUGINS_FILE 此文件显式记录启用的插件。当启用或禁用插件时,将重新创建此文件。重要的是,有效的RabbitMQ用户拥有足够的权限来随时读取、写入和创建该文件。
RABBITMQ_PID_FILE 进程id放置在其中供rabbitmqctl使用的文件。

Linux, macOS, BSD的默认位置

在下表中,一些路径的installprefixHomebrew使(HomebrewCellar)/usr/localDebianRPM使{install_prefix}。

名称描述
RABBITMQ_BASE 非使用-只适用于Windows
RABBITMQ_CONFIG_FILE ${install_prefix}/etc/rabbitmq/rabbitmq
RABBITMQ_MNESIA_BASE ${install_prefix}/var/lib/rabbitmq/mnesia
RABBITMQ_MNESIA_DIR RABBITMQMNESIABASE/RABBITMQ_NODENAME
RABBITMQ_LOG_BASE ${install_prefix}/var/log/rabbitmq
RABBITMQ_LOGS RABBITMQLOGBASE/RABBITMQ_NODENAME.log
RABBITMQ_PLUGINS_DIR /usr/lib/rabbitmq/plugins:$RABBITMQ_HOME/plugins。注意,只有在将RabbitMQ安装到标准(默认)位置时才使用/usr/lib/rabbitmq/plugins。
RABBITMQ_PLUGINS_EXPAND_DIR RABBITMQMNESIABASE/RABBITMQ_NODENAME-plugins-expand
RABBITMQ_ENABLED_PLUGINS_FILE ${install_prefix}/etc/rabbitmq/enabled_plugins
RABBITMQ_PID_FILE $RABBITMQ_MNESIA_DIR.pid

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%
RABBITMQ_LOG_BASE %RABBITMQ_BASE%\log
RABBITMQ_LOGS %RABBITMQ_LOG_BASE%%RABBITMQ_NODENAME%.log
RABBITMQ_PLUGINS_DIR Installation-directory/plugins
RABBITMQ_PLUGINS_EXPAND_DIR %RABBITMQ_MNESIA_BASE%%RABBITMQ_NODENAME%-plugins-expand
RABBITMQ_ENABLED_PLUGINS_FILE %RABBITMQ_BASE%\enabled_plugins
RABBITMQ_PID_FILE 当前不支持

通用二进制构建的默认位置

这些是在解包通用Unix tar文件并不加修改地运行服务器时获得的默认值。在这个表中,$RABBITMQ_HOME指的是在提取归档文件时生成的目录。

名称描述
RABBITMQ_BASE 不使用
RABBITMQ_CONFIG_FILE $RABBITMQ_HOME/etc/rabbitmq/rabbitmq
RABBITMQ_MNESIA_BASE $RABBITMQ_HOME/var/lib/rabbitmq/mnesia
RABBITMQ_MNESIA_DIR RABBITMQMNESIABASE/RABBITMQ_NODENAME
RABBITMQ_LOG_BASE $RABBITMQ_HOME/var/log/rabbitmq
RABBITMQ_LOGS RABBITMQLOGBASE/RABBITMQ_NODENAME.log
RABBITMQ_PLUGINS_DIR $RABBITMQ_HOME/plugins
RABBITMQ_PLUGINS_EXPAND_DIR RABBITMQMNESIABASE/RABBITMQ_NODENAME-plugins-expand
RABBITMQ_PID_FILE $RABBITMQ_MNESIA_DIR.pid

上一篇:RabbitMQ系列(四) RabbitMQ的虚拟主机
下一篇:RabbitMQ系列(六) RabbitMQ的配置


作者:攀登者007
链接:https://juejin.cn/post/6844904139063820295
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-12-21 设置 ASP.NET Core Web API 中响应数据的格式 AddNewtonsoftJson 使用NewtonsoftJson替换掉默认的System.Text.Json序列化组件
2018-12-21 nginx 常见正则匹配符号表示
2018-12-21 Nginx if 条件判断
2016-12-21 【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能
2016-12-21 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
2016-12-21 ASP.NET MVC 3 技术(九) 301永久重定向不带www域名到带www的域名
2016-12-21 ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多