RabbitMQ

EE

RabbitMQ must be installed and configured after Magento Community Edition and before Magento Enterprise Edition.

RabbitMQ Overview

RabbitMQ is is an open source message broker that offers a reliable, highly available, scalable and portable messaging system.

Message queues provide an asynchronous communications mechanism in which the sender and the receiver of a message do not contact each other. Nor do they need to communicate with the message queue at the same time. When a sender places a messages onto a queue, it is stored until the recipient receives them.

Magento 2.0 Enterprise Edition (EE) uses RabbitMQ to manage these message queues. RabbitMQ cannot be used with Community Edition (CE) installations.

The message queue system must be established before you install Magento. The basic sequence is

  1. Install RabbitMQ and any prerequisites.
  2. Configure RabbitMQ.
  3. Configure your message queue topology.

A basic message queue system can be implemented on EE without using RabbitMQ. See Configure message queues

Install RabbitMQ on Ubuntu

Detailed installation instructions are beyond the scope of this document. See Installing on Debian/Ubuntu for more information.

To install RabbitMQ on Ubuntu 16 enter the following command:

sudo apt install -y rabbitmq-server

This command also installs the required Erlang packages.

If you have an older version of Ubuntu, RabbitMQ recommends installing the package from their website.

  1. Download rabbitmq-server_3.6.6-1_all.deb.
  2. Install the package with dpkg.

Install RabbitMQ on CentOS

Detailed installation instructions are beyond the scope of this document. See Installing on RPM-based Linux for more information.

Install Erlang

RabbitMQ was written using the Erlang programming language, which must be installed on the same system as RabbitMQ.

See Manual installation for more information.

Run the following commands to install this feature.

  1. wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
  2. rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

Install RabbitMQ

The RabbitMQ server is included on CentOS, but the version is often old. RabbitMQ recommends installing the package from their website.

  1. Download rabbitmq-server-3.5.6-1.noarch.rpm.
  2. Run the following commands as a user with root permissions:

rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc yum install rabbitmq-server-3.5.6-1.noarch.rpm

Configure RabbitMQ

Review the official RabbitMQ documentation to configure and manage RabbitMQ. Pay attention to the following items:

  • Environment variables
  • Port access
  • Default user accounts
  • Starting and stopping the broker
  • System limits

Install RabbitMQ on Magento EE

Add the following command line parameters when you install Magento EE:

--amqp-host="<hostname>" --amqp-port="5672" --amqp-user="<user_name>" --amqp-password="<password>"

where:

ParameterDescription
amqp-host The host name where RabbitMQ is installed.
amqp-port The port to use to connect to RabbitMQ. The default is 5672.
amqp-user The user name for connecting to RabbitMQ. Do not use the default user `guest`.
amqp-password The password for connecting to RabbitMQ. Do not use the default password `guest`.