Homebrew RabbitMQ Formula
概述
Homebrew 是 macOS 和 Linux 上一个流行的包管理器。Homebrew 的核心 tap(开箱即用)提供了一个 RabbitMQ formula。该 formula 由 Homebrew 社区维护,而非 RabbitMQ 团队。
作为依赖项,会安装一个最近的 支持的 Erlang/OTP 版本。
请 从头到尾阅读本简短指南。该 formula 有其注意事项,其中一些可能导致节点无法升级到 RabbitMQ 3.12 及更高版本,因为禁用了稳定的 feature flags。
安装
安装前,请确保 tap 是最新的
brew update
然后,使用以下命令安装 RabbitMQ 服务器
brew install rabbitmq
安装 RabbitMQ formula 将会安装关键依赖项,例如 支持的 Erlang/OTP 版本。
但是,安装 formula 不会启动服务(RabbitMQ 节点)。请参阅下文的 运行和管理节点。
位置
RabbitMQ 服务器脚本和 CLI 工具 都安装在 Intel Mac 的 /usr/local/Cellar/rabbitmq/{version}/ 下的 sbin 目录中,或 Apple Silicon Mac 的 /opt/homebrew/Cellar/rabbitmq/{version}/ 下。
应可以通过 Intel Mac 的 /usr/local/opt/rabbitmq/sbin 或 Apple Silicon Mac 的 /opt/homebrew/opt/rabbitmq/sbin 访问它们。已在 Intel Mac 的 /usr/local/sbin 或 Apple Silicon Mac 的 /opt/homebrew/sbin 下创建了指向二进制文件的链接。
要查找您安装的位置,请使用
brew info rabbitmq
有效的操作系统用户
使用 Homebrew 时,节点和 CLI 工具默认将使用当前登录的用户 OS 账户。这对于开发环境来说是最佳的,意味着 RabbitMQ 节点和 CLI 工具将使用相同的 共享密钥文件。
运行和管理节点
与其他一些安装方法(例如 Debian 和 RPM 包)不同,RabbitMQ Homebrew formula 使用 通用 UNIX 二进制文件构建,并且不需要 sudo。
启动服务器
在前台启动节点
要在前台启动节点,请运行
CONF_ENV_FILE="/opt/homebrew/etc/rabbitmq/rabbitmq-env.conf" /opt/homebrew/opt/rabbitmq/sbin/rabbitmq-server
启动节点后,建议在此节点上启用所有 feature flags
# highly recommended: enable all feature flags on the running node
/opt/homebrew/sbin/rabbitmqctl enable_feature_flag all
在后台启动节点
要在后台启动节点,请使用 brew services start
# starts a local RabbitMQ node
brew services start rabbitmq
# highly recommended: enable all feature flags on the running node
/opt/homebrew/sbin/rabbitmqctl enable_feature_flag all
停止服务器
要停止正在运行的节点,请使用
# stops the locally running RabbitMQ node
brew services stop rabbitmq
或直接使用 CLI 工具
/opt/homebrew/sbin/rabbitmqctl shutdown
该命令将等待节点进程停止。如果目标节点未运行,它将以警告退出。
将 RabbitMQ CLI 工具与 Homebrew 一起使用
该 formula 在 Intel Mac 的 /usr/local/sbin 或 Apple Silicon Mac 的 /opt/homebrew/sbin 下设置了指向 CLI 工具的链接。
如果该目录不在 PATH 中,建议将其添加到
# for macOS Intel
export PATH=$PATH:/usr/local/sbin
# for Apple Silicon
export PATH=$PATH:/opt/homebrew/sbin
将上述 export 添加到 shell 配置文件(例如 bash 的 ~/.bashrc 或 zsh 的 ~/.zshrc),以便为每个新的 shell 更新 PATH,包括 OS 重启。
启用 Feature Flags
Homebrew formula 在安装后不会启用 feature flags。安装后启用所有 feature flags(这对于获取某些功能访问权和未来的版本兼容性非常重要),请使用
/opt/homebrew/sbin/rabbitmqctl enable_feature_flag all
配置 Homebrew 安装的 RabbitMQ 节点
Homebrew 使用的文件和目录位置在 Intel Mac 和 Apple Silicon Mac 上有所不同。要查找您安装的位置,请使用
brew info rabbitmq
在 Apple Silicon Mac 上,RabbitMQ 配置文件位于 /opt/homebrew/etc/rabbitmq/rabbitmq.conf。该文件默认不存在,必须由用户创建。然后必须重新启动节点,以便它在启动时加载新的配置文件。
可以使用 环境变量 来控制某些设置。rabbitmq-env.conf 位于 /opt/homebrew/etc/rabbitmq/rabbitmq-env.conf
请参阅 RabbitMQ 配置指南了解更多信息。
重新安装 Formula
要重新安装 formula,例如,如果旧安装无法升级,因为它 没有主动启用所有 feature flags,请先卸载它,然后删除所有节点数据文件
brew services stop rabbitmq
brew uninstall rabbitmq
# Now delete all node's data directories and configuration files.
# This assumes that Homebrew root is at /opt/homebrew
rm -rf /opt/homebrew/etc/rabbitmq/
rm -rf /opt/homebrew/opt/rabbitmq/
rm -rf /opt/homebrew/var/lib/rabbitmq/
# the launch agent file
rm -f $HOME/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist
# If the above steps fail with
# Error: No such file or directory - /opt/homebrew/var/homebrew/linked/rabbitmq
#
# consider trying
brew doctor
brew cleanup
# re-install
brew install rabbitmq
## start the service if necessary
# brew services start rabbitmq
## after starting the service, enable all feature flags
# /opt/homebrew/sbin/rabbitmqctl enable_feature_flag all