Server Build Instructions

RabbitMQ

Features
Get Started
Support
Community
Docs
Blog

Overview

This section describes the process for obtaining a copy of the RabbitMQ server source code, as well as instructions for building the server from source.
Build from Git

First, get the source code from our GitHub repositories:

git clone https://github.com/rabbitmq/rabbitmq-server.git

Then, use GNU Make to pull down dependencies and build the server:

cd rabbitmq-server
make

Required Libraries and Tools

In order to build RabbitMQ, a few tools must be installed.
Python

RabbitMQ requires a recent version of Python and simplejson.py (an implementation of a JSON reader and writer in Python), for generating AMQP 0-9-1 framing code. simplejson.py is included as a standard json library in the Python core since 2.6 release.
Erlang/OTP Toolchain and Headers

The Erlang development and runtime tools are needed to compile RabbitMQ server, tools and tier 1 plugins.

On a Debian-based system, install the erlang-nox, erlang-dev and erlang-src packages.

See Erlang compatibility guide to learn more about supported versions of Erlang/OTP.
Elixir

A recent version of Elixir is needed to build RabbitMQ CLI tools.
GNU Make

GNU make is the primary build tool used by RabbitMQ.
xsltproc and xmlto

A recent version of xsltproc, which is part of libxslt and xmlto must be available.
zip and unzip

zip and unzip would be necessary if source code is obtained avia an archive instead of a git repository clone.
Building the Server

Change to the rabbitmq-server directory, and type make.

Other interesting Makefile targets include
Make Target Description
all The default target. Builds the server.
shell Builds the client libraries and starts an Erlang shell with the libraries loaded.
run-broker Builds the server and starts an instance with an interactive Erlang shell. This will by default put data, including a Mnesia database, in /tmp/rabbitmq-test-instances, but this location can be overridden by setting the Makefile variable TEST_TMPDIR:

make run-broker TEST_TMPDIR="/some/other/location/for/rabbitmq-test-instances"

The Erlang node name can also be changed by setting RABBITMQ_NODENAME:

make run-broker RABBITMQ_NODENAME=rmq

See Configuration guide for other variables that may be useful.
clean Removes temporary build products.
distclean Removes all build products, including fetched dependencies.
tests Runs multiple server test suites. This is very resource-intensive and will take up to a few hours. Many nodes and clusters will be started, modified and destroyed by various test suites.
Building Packages

In practice, building RabbitMQ server from source is of limited use unless an easy to deploy package (e.g. a Debian one) can be produced.

Everything related to packaging the RabbitMQ server is in the rabbitmq-server-release repository. The repository has the list of plugins shipped with the broker. Please refer to the README.md for instructions to create the source archive or any binary packages.
Getting Help and Providing Feedback

If you have questions about the contents of this guide or any other topic related to RabbitMQ, don’t hesitate to ask them on the RabbitMQ mailing list.
Help Us Improve the Docs ❤️

If you’d like to contribute an improvement to the site, its source is available on GitHub. Simply fork the repository and submit a pull request. Thank you!
In This Section

Server Documentation
Client Documentation
Plugins
News
Protocol
Our Extensions
Building
    Building the Server
    Building the Java Client
    Building the .NET Client
    Building the Erlang Client
    Our use of Git and GitHub
Previous Releases
License

RabbitMQ

Features
Get Started
Support
Community
Docs
Blog

Copyright © 2007-2020 VMware, Inc. or its affiliates. All rights reserved. Terms of Use, Privacy and Trademark Guidelines

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值