服务器构建说明
概述
本节介绍获取 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(Python 中的 JSON 阅读器和编写器的实现),用于生成 AMQP 0-9-1 帧代码。从 Python 2.6 版本开始,simplejson.py 作为标准 json 库包含在 Python 核心库中。
Erlang/OTP 工具链和头文件
需要Erlang 开发和运行时工具来编译 RabbitMQ 服务器、工具和一级插件。
在基于 Debian 的系统上,安装 erlang-nox
、erlang-dev
和 erlang-src
包。
请参阅Erlang 兼容性指南,以了解有关支持的 Erlang/OTP 版本的更多信息。
Elixir
需要最新版本的Elixir来构建RabbitMQ CLI 工具。
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 启动实例。默认情况下,这会将数据(包括节点的数据目录)放在
还可以通过设置
请参阅配置指南以了解其他可能很有用的变量。 |
clean | 删除临时构建产品。 |
distclean | 删除所有构建产品,包括已获取的依赖项。 |
tests | 运行多个服务器测试套件。这非常占用资源,需要花费数小时。各种测试套件将启动、修改和销毁许多节点和集群。 |
构建软件包
实际上,除非可以生成易于部署的软件包(例如通用二进制构建或 Debian 软件包),否则从源代码构建 RabbitMQ 服务器用途有限。
与 RabbitMQ 服务器打包相关的所有内容都位于主要的 RabbitMQ 代码库中。
有许多顶级打包 Make 目标可用,每个目标对应一种软件包类型(或软件包系列,例如 RPM)。
make package-generic-unix
make package-deb
make package-rpm
make package-rpm-suse
make package-windows