服务器构建说明
概述
本节介绍获取 RabbitMQ 服务器源代码副本的过程,以及从源代码构建服务器的说明。
从 Git 构建
首先,从 我们的 GitHub 仓库 获取源代码
git clone https://github.com/rabbitmq/rabbitmq-server.git rabbitmq
然后,使用 GNU Make 拉取依赖项并构建服务器以及 RabbitMQ 发行版附带的所有插件
cd rabbitmq
make
所需的库和工具
为了构建 RabbitMQ,必须安装一些工具。
Python
RabbitMQ 需要最新版本的 Python 和 simplejson.py (一个 JSON 阅读器和写入器的 Python 实现),用于生成 AMQP 0-9-1 框架代码。simplejson.py 自 2.6 版本以来作为标准 json 库包含在 Python 核心中。
Erlang/OTP 工具链和标头
需要 Erlang 开发和运行时工具来编译 RabbitMQ 服务器、工具和 tier 1 插件。
在基于 Debian 的系统上,安装 erlang-nox
、erlang-dev
和 erlang-src
包。
请参阅 Erlang 兼容性指南,了解有关受支持的 Erlang/OTP 版本的更多信息。
Elixir
构建 RabbitMQ CLI 工具 需要最新版本的 Elixir。
GNU Make
GNU make 是 RabbitMQ 使用的主要构建工具。
xsltproc 和 xmlto
必须提供最新版本的 xsltproc(它是 libxslt 的一部分)和 xmlto。
zip 和 unzip
如果通过归档文件而不是 git 仓库克隆获取源代码,则需要 zip 和 unzip。
构建服务器
切换到 rabbitmq
目录,然后键入 make
。
其他有趣的 Makefile
目标包括
Make 目标 | 描述 |
---|---|
all | 默认目标。构建服务器。 |
shell | 构建客户端库并启动加载了库的 Erlang shell。 |
run-broker | 构建服务器并使用交互式 Erlang shell 启动实例。默认情况下,这会将数据(包括节点的数据目录)放在
Erlang 节点名称也可以通过设置
请参阅 配置指南,了解其他可能有用的变量。 |
clean | 删除临时构建产品。 |
distclean | 删除所有构建产品,包括获取的依赖项。 |
tests | 运行多个服务器测试套件。这非常消耗资源,将需要几个小时。各种测试套件将启动、修改和销毁许多节点和集群。 |
构建包
实际上,从源代码构建 RabbitMQ 服务器的用途有限,除非可以生成易于部署的包(例如,通用二进制构建或 Debian 包)。
与打包 RabbitMQ 服务器相关的所有内容都在 主 RabbitMQ 仓库 中。
有许多顶级打包 Make 目标可用,每个包类型(或包系列,例如 RPM)一个
make package-generic-unix
make package-deb
make package-rpm
make package-rpm-suse
make package-windows