RabbitMQ is a widely used and lightweight message broker. It supports multiple messaging protocols and can be deployed on both on-premises and in the cloud infrastructures. RabbitMQ can be deployed as clusters for high availability and throughput and has support for federation across multiple availability zones and regions. In this article I’ll show you how to install RabbitMQ on Amazon Linux 2023.
Here are some key features of RabbitMQ:
- Distributed Deployment: Deploy as clusters for high availability and throughput; federate across multiple availability zones and regions.
- Asynchronous Messaging: RabbitMQ supports multiple messaging protocols, message queuing, delivery acknowledgement, flexible routing to queues, multiple exchange type.
- Tools & Plugins: Diverse array of tools and plugins supporting continuous integration, operational metrics, and integration to other enterprise systems
- Management & Monitoring: HTTP-API, command line tool, and UI for managing and monitoring RabbitMQ.
- Enterprise & Cloud Ready: Pluggable authentication, authorisation, supports TLS and LDAP. Lightweight and easy to deploy in public and private clouds.
- Developer Experience: Deploy with BOSH, Chef, Docker and Puppet. Develop cross-language messaging with favorite programming languages such as: Java, .NET, PHP, Python, JavaScript, Ruby, Go, and many others.
Install RabbitMQ on Amazon Linux 2023
There are two ways you can use to install RabbitMQ on Amazon Linux 2023.
- Installing the package using Yum repositories
- Manually downloading the package and installing it with rpm or yum package management tools.
We’ll use the first method of adding the YUM repository and installing the package from the repository. For simplicity we’ll use Packagecloud repo.
Import the Signing Keys
Yum will verify signatures of any packages it installs, therefore the first step in the process is to import the signing key:
## primary RabbitMQ signing key
sudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc'
## modern Erlang repository
sudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key'
## RabbitMQ server repository
sudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key'
Add RabbitMQ YUM repository to Amazon Linux 2023 Server
Run the following commands to add packagecloud RabbitMQ and Erlang repository.
sudo tee /etc/yum.repos.d/rabbitmq.repo > /dev/null <<'EOF'
[modern-erlang]
name=modern-erlang-el9
# Use a set of mirrors maintained by the RabbitMQ core team.
# The mirrors have significantly higher bandwidth quotas.
baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch
https://yum2.rabbitmq.com/erlang/el/9/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
[modern-erlang-noarch]
name=modern-erlang-el9-noarch
# Use a set of mirrors maintained by the RabbitMQ core team.
# The mirrors have significantly higher bandwidth quotas.
baseurl=https://yum1.rabbitmq.com/erlang/el/9/noarch
https://yum2.rabbitmq.com/erlang/el/9/noarch
repo_gpgcheck=1
enabled=1
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
[rabbitmq-el9]
name=rabbitmq-el9
baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/$basearch
https://yum1.rabbitmq.com/rabbitmq/el/9/$basearch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
[rabbitmq-el9-noarch]
name=rabbitmq-el9-noarch
baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
EOF
Install RabbitMQ on Amazon Linux 2023
Once the repository is configured you can use yum package manager tool to install the latest release of RabbitMQ server, but first, update package metadata:
sudo dnf update -y
Next install dependencies from the standard repositories:
sudo dnf install -y logrotate
Finally, install modern Erlang and RabbitMQ:
$ sudo dnf install -y erlang rabbitmq-server
Last metadata expiration check: 0:00:28 ago on Mon Jan 12 20:51:30 2026.
Dependencies resolved.
==========================================================================================================================================================================================================================
Package Architecture Version Repository Size
==========================================================================================================================================================================================================================
Installing:
erlang x86_64 27.3.4.6-1.el9 modern-erlang 21 M
rabbitmq-server noarch 4.2.2-1.el8 rabbitmq-el9-noarch 24 M
Transaction Summary
==========================================================================================================================================================================================================================
Install 2 Packages
Total download size: 45 M
Installed size: 72 M
Downloading Packages:
(1/2): erlang-27.3.4.6-1.el9.x86_64.rpm 4.1 MB/s | 21 MB 00:05
(2/2): rabbitmq-server-4.2.2-1.el8.noarch.rpm 3.2 MB/s | 24 MB 00:07
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 5.9 MB/s | 45 MB 00:07
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : erlang-27.3.4.6-1.el9.x86_64 1/2
Running scriptlet: rabbitmq-server-4.2.2-1.el8.noarch 2/2
Installing : rabbitmq-server-4.2.2-1.el8.noarch 2/2
Running scriptlet: rabbitmq-server-4.2.2-1.el8.noarch 2/2
Verifying : erlang-27.3.4.6-1.el9.x86_64 1/2
Verifying : rabbitmq-server-4.2.2-1.el8.noarch 2/2
Installed:
erlang-27.3.4.6-1.el9.x86_64 rabbitmq-server-4.2.2-1.el8.noarch
Complete!
Start RabbitMQ Server on Amazon Linux 2023
The server is not started as a daemon by default when the RabbitMQ server package is installed. To start the daemon by default when the system boots, as an administrator run
sudo systemctl enable --now rabbitmq-server
Confirm service status:
$ systemctl status rabbitmq-server.service
● rabbitmq-server.service - Open source RabbitMQ server
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: disabled)
Active: active (running) since Mon 2026-01-12 20:53:14 EAT; 9s ago
Main PID: 43776 (beam.smp)
Tasks: 25 (limit: 4643)
Memory: 111.5M
CPU: 3.100s
CGroup: /system.slice/rabbitmq-server.service
├─43776 /usr/lib64/erlang/erts-15.2.7.4/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu no>
├─43789 erl_child_setup 32768
├─43808 /usr/lib64/erlang/erts-15.2.7.4/bin/inet_gethost 4
├─43809 /usr/lib64/erlang/erts-15.2.7.4/bin/inet_gethost 4
├─43818 /usr/lib64/erlang/erts-15.2.7.4/bin/epmd -daemon
└─43843 /bin/sh -s rabbit_disk_monitor
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Doc guides: https://www.rabbitmq.com/docs
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Support: https://www.rabbitmq.com/docs/contact
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Tutorials: https://www.rabbitmq.com/tutorials
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Monitoring: https://www.rabbitmq.com/docs/monitoring
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Upgrading: https://www.rabbitmq.com/docs/upgrade
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Logs: /var/log/rabbitmq/[email protected]
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: <stdout>
Jan 12 20:53:10 al-2023 rabbitmq-server[43776]: Config file(s): (none)
Jan 12 20:53:14 al-2023 rabbitmq-server[43776]: Starting broker... completed with 0 plugins.
Jan 12 20:53:14 al-2023 systemd[1]: Started rabbitmq-server.service - Open source RabbitMQ server.
RabbitMQ Log files are located in the /var/log/rabbitmq directory.
$ ls -lh /var/log/rabbitmq
total 20K
-rw-r-----. 1 rabbitmq rabbitmq 19K Jan 12 20:53 [email protected]
Go though RabbitMQ documentation pages to learn more about this software and further tune it to fit your use cases and performance expectations.





