跳至主内容
版本:4.2

通用二进制构建(“通用 UNIX 构建”)

概述

RabbitMQ 发布版包含适用于 Linux、MacOS 和 *BSD 系统的二进制包。它非常精简,在安装、配置和管理方面没有特定偏好。在无法使用更具特定性的安装选项(如 DebianRPM 包Homebrew、BSD ports)的环境中,推荐使用此包。它也是在开发环境中在同一台机器上运行多个版本的便捷选项。

有一个单独的 Windows 二进制包

DebianRPMWindows 安装程序 包不同,使用此包类型进行 节点管理 只能通过 RabbitMQ CLI 工具 或由操作员手动设置 systemd 服务等方式进行。

下载

描述下载签名
通用 UNIX 二进制构建 (tar.xz,来自 GitHub,推荐)rabbitmq-server-generic-unix-4.2.0.tar.xz签名

安装

确保已安装 Erlang/OTP

此包需要安装 受支持的 Erlang 版本 才能运行。

安装服务器

下载 rabbitmq-server-generic-unix-4.2.0.tar.xz 存档并解压。

tar 包中包含一个名为 rabbitmq_4.2.0 的目录。此目录是节点的基础目录。应将其移动到系统上的合适应用程序目录,例如 /usr/local。该目录下的 sbin 目录包含服务器和 CLI 工具 脚本。将其添加到 PATH 是一个不错的选择。

运维

运行和管理节点

DebianRPM 包 等其他安装方法不同,RabbitMQ 通用 UNIX 二进制构建不需要 sudo。可以将其解压到任何位置,并使用 sbin 下的脚本和 CLI 工具 进行启动和管理。默认的 数据目录位置 将位于 ./var 下,即安装目录中。

启动服务器

要启动服务器,请运行 sbin/rabbitmq-server 脚本。这将显示一个简短的横幅消息,最后是“completed with [n] plugins.”(完成,[n] 个插件。)消息,表明 RabbitMQ 代理已成功启动。要以“分离”模式启动服务器,请使用 rabbitmq-server -detached。这将使节点进程在后台运行。

停止服务器

要停止正在运行的节点,请使用 sbin/rabbitmqctl shutdown。该命令将等待节点进程停止。如果目标节点未运行,它将以错误退出。

配置服务器

位于 $RABBITMQ_HOME/etc/rabbitmq/rabbitmq.confRabbitMQ 配置文件是配置节点的主要方式。

可以使用 环境变量 来控制某些设置。推荐的方式是使用 $RABBITMQ_HOME/etc/rabbitmq/rabbitmq-env.conf 文件。

安装后,这些文件都不存在,因此必须先创建它们。

请参阅 RabbitMQ 配置指南了解更多信息。

文件位置

通用二进制构建旨在无需授予其基础目录以外的目录权限即可运行。默认使用的 目录和文件 都位于安装目录 rabbitmq_4.2.0 下,该目录在脚本中由 $RABBITMQ_HOME 变量指定。

可以 指示 节点使用更常规的系统目录来存放 配置、节点数据目录、日志 文件、插件 等。为了使节点使用操作系统默认设置,请在 sbin/rabbitmq-defaults 脚本中找到以下行

PREFIX=${RABBITMQ_HOME}

并将此行更改为

SYS_PREFIX=

但不要修改此脚本中的任何其他行。

重要提示:进行此修改后,默认目录位置可能指向不存在的目录,或者有效的节点用户可能没有权限访问这些目录。

特别是 RABBITMQ_MNESIA_BASERABBITMQ_LOG_BASE 可能需要创建(服务器将在启动时尝试创建它们),并且 已启用插件文件RABBITMQ_ENABLED_PLUGINS_FILE)需要可供 rabbitmq-plugins 写入。

配置文件将在 /etc/rabbitmq/ 中查找。

端口访问

RabbitMQ 节点绑定到端口(打开服务器 TCP 套接字)以接受客户端和 CLI 工具的连接。SELinux 等其他进程和工具可能会阻止 RabbitMQ 绑定到端口。发生这种情况时,节点将无法启动。有关更多详细信息,请参阅网络指南

默认用户访问

代理创建一个用户 guest,密码为 guest。未配置的客户端通常会使用这些凭据。**默认情况下,这些凭据只能在连接到本地主机上的代理时使用**,因此在从任何其他计算机连接之前,您需要采取相应措施。

有关如何创建更多用户和删除 guest 用户的信息,请参阅访问控制文档。

管理节点

要停止服务器或检查其状态等,您可以调用 sbin/rabbitmqctl(以运行 rabbitmq-server 的用户身份)。如果没有正在运行的代理,所有 rabbitmqctl 命令都会报告节点不存在。

  • 调用 rabbitmqctl stoprabbitmqctl shutdown 来停止服务器
  • 调用 rabbitmq-diagnostics status 来检查它是否正在运行

请参阅 CLI 工具指南了解更多信息。

控制 Linux 上的系统限制

运行生产工作负载的 RabbitMQ 安装可能需要调整系统限制和内核参数,才能处理大量并发连接和队列。需要调整的主要设置是打开文件的最大数量,也称为 ulimit -n。许多操作系统上的默认值对于消息代理来说太低了(在几个 Linux 发行版上为 1024)。我们建议在生产环境中为用户 rabbitmq 允许至少 65536 个文件描述符。对于许多开发工作负载,4096 应该足够了。

有两个限制在起作用:操作系统内核允许的最大打开文件数(Linux 上为 fs.file-max,OS X 和 FreeBSD 上为 kern.maxfilesperproc)和每个用户的限制(ulimit -n)。前者必须大于后者。有关控制系统范围限制的更多信息,请参阅关于打开文件限制调优的绝佳 Riak 指南

验证限制

RabbitMQ 管理 UI 在“概览”选项卡上显示了可供其使用的文件描述符数量。

rabbitmq-diagnostics status

包含相同的值。以下命令

ulimit -a

可用于显示当前用户的有效限制。对于正在运行的进程,可能存在更方便的操作系统特定方法,例如 Linux 上的 /proc 文件系统。

配置管理工具

配置管理工具(例如 Chef、Puppet、BOSH)有助于系统限制的调优。我们的 开发者工具 指南列出了相关的模块和项目。

© . This site is unofficial and not affiliated with VMware.