通用二进制构建 ("通用 UNIX 构建")
概述
RabbitMQ 发行版包含适用于 Linux、MacOS 和 *BSD 系统的二进制软件包。它非常简洁,并且在如何安装、配置和管理方面没有预设的倾向。在无法使用更倾向于预设安装选项的环境中(Debian 或 RPM 软件包、Homebrew、BSD 端口),建议使用此软件包。它也是在同一机器上的开发环境中运行多个版本的最方便选择。
Windows 有单独的 二进制软件包。
与 Debian、RPM 和 Windows 安装程序 软件包的情况不同,此软件包类型的 节点管理 仅使用 RabbitMQ CLI 工具 或由操作员手动设置例如 systemd
服务来执行。
下载
描述 | 下载 | 签名 |
---|---|---|
通用 UNIX 二进制构建 (tar.xz, 来自 GitHub,推荐) | rabbitmq-server-generic-unix-4.1.0.tar.xz | 签名 |
安装
确保已安装 Erlang/OTP
此软件包需要安装 受支持的 Erlang 版本 才能运行。
安装服务器
下载 rabbitmq-server-generic-unix-4.1.0.tar.xz
压缩包并解压。
tarball 中包含一个名为 rabbitmq_4.1.0
的目录。此目录是节点基本目录。应将其移动到系统上合适的应用程序目录,例如 /usr/local
。该目录中的 sbin
目录包含服务器和 CLI 工具 脚本。它是包含在 PATH
中的一个很好的候选目录。
操作
运行和管理节点
与某些其他安装方法(即 Debian 和 RPM 软件包)不同,RabbitMQ 通用 UNIX 二进制构建不需要 sudo
。它可以解压缩到任何位置,并使用 sbin
下的脚本和 CLI 工具 启动和管理。默认的 数据目录位置 将位于 ./var
下,即安装目录中。
启动服务器
要启动服务器,请运行 sbin/rabbitmq-server
脚本。这将显示一条简短的横幅消息,最后以消息 “completed with [n] plugins.” 结尾,表明 RabbitMQ broker 已成功启动。要在“分离”模式下启动服务器,请使用 rabbitmq-server -detached
。这将使节点进程在后台运行。
停止服务器
要停止正在运行的节点,请使用 sbin/rabbitmqctl shutdown
。该命令将等待节点进程停止。如果目标节点未运行,它将以错误退出。
配置服务器
位于 $RABBITMQ_HOME/etc/rabbitmq/rabbitmq.conf
的 RabbitMQ 配置文件 是配置节点的主要方式。
可以使用 环境变量 来控制某些设置。推荐的方法是使用 $RABBITMQ_HOME/etc/rabbitmq/rabbitmq-env.conf
文件。
这些文件在安装后都不存在,因此必须首先创建它们。
请参阅 RabbitMQ 配置指南 以了解更多信息。
文件位置
通用二进制构建旨在在没有对基本目录之外的目录授予权限的情况下运行。默认情况下使用的 目录和文件 都保存在安装目录 rabbitmq_4.1.0
下,该目录在脚本中的 $RABBITMQ_HOME 变量中。
可以 指示 节点对 配置、节点数据目录、日志 文件、插件 等使用更传统的系统目录。为了使节点使用操作系统默认值,请找到以下行
PREFIX=${RABBITMQ_HOME}
在 sbin/rabbitmq-defaults
脚本中,并将此行更改为
SYS_PREFIX=
但不要修改此脚本中的任何其他行。
重要提示:修改后,默认目录位置可能指向不存在的目录或有效节点用户没有权限的目录。
特别是 RABBITMQ_MNESIA_BASE
和 RABBITMQ_LOG_BASE
可能需要创建(服务器将在启动时尝试创建它们),并且 启用的插件文件 (RABBITMQ_ENABLED_PLUGINS_FILE
) 需要可由 rabbitmq-plugins 写入。
配置文件将在 /etc/rabbitmq/
中查找。
端口访问
RabbitMQ 节点绑定到端口(打开服务器 TCP 套接字)以接受客户端和 CLI 工具连接。其他进程和工具(如 SELinux)可能会阻止 RabbitMQ 绑定到端口。发生这种情况时,节点将无法启动。有关更多详细信息,请参阅 网络指南。
默认用户访问
broker 创建一个用户 guest
,密码为 guest
。未配置的客户端通常将使用这些凭据。默认情况下,这些凭据只能在连接到 localhost 的 broker 时使用,因此您需要先采取措施才能从任何其他机器连接。
有关如何创建更多用户和删除 guest
用户的信息,请参阅有关 访问控制 的文档。
管理节点
要停止服务器或检查其状态等,您可以调用 sbin/rabbitmqctl
(作为运行 rabbitmq-server
的用户)。如果 broker 未运行,所有 rabbitmqctl
命令都将报告节点不存在。
- 调用
rabbitmqctl stop
或rabbitmqctl shutdown
以停止服务器 - 调用
rabbitmq-diagnostics status
以检查它是否正在运行
请参阅 CLI 工具指南 以了解更多信息。
在 Linux 上控制系统限制
运行生产工作负载的 RabbitMQ 安装可能需要系统限制和内核参数调整,以便处理大量的并发连接和队列。需要调整的主要设置是最大打开文件数,也称为 ulimit -n
。在许多操作系统上,默认值对于消息代理来说太低了(在多个 Linux 发行版上为 1024
)。我们建议在生产环境中为用户 rabbitmq
至少允许 65536 个文件描述符。对于许多开发工作负载,4096 应该足够了。
有两个限制在起作用:OS 内核允许的最大打开文件数(Linux 上为 fs.file-max
,OS X 和 FreeBSD 上为 kern.maxfilesperproc
)和每用户限制 (ulimit -n
)。前者必须高于后者。有关控制系统范围限制的更多信息,请参阅优秀的 Riak 关于打开文件限制调整的指南。
验证限制
RabbitMQ 管理 UI 在 “Overview” 选项卡上显示可供其使用的文件描述符数量。
rabbitmq-diagnostics status
包括相同的值。以下命令
ulimit -a
可用于显示当前用户的有效限制。可能有更方便的特定于 OS 的方法来执行此操作,对于正在运行的进程,例如 Linux 上的 /proc
文件系统。
配置管理工具
配置管理工具(例如 Chef、Puppet、BOSH)提供系统限制调整方面的帮助。我们的 开发者工具 指南列出了相关的模块和项目。