RabbitMQ
Installation
Ubuntu/Debian
# Update package manager
sudo apt update
# Install Erlang (RabbitMQ dependency)
sudo apt install erlang -y
# Add RabbitMQ repository GPG key
wget -O - "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq.gpg
# Add RabbitMQ repository
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.gpg] https://ppa1.rabbitmq.com/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
# Update package manager
sudo apt update
# Install RabbitMQ
sudo apt install rabbitmq-server -y
# Start and enable RabbitMQ
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
# Verify installation
sudo systemctl status rabbitmq-serverCentOS/RHEL
# Install Erlang
sudo yum install erlang -y
# Install RabbitMQ
sudo yum install rabbitmq-server -y
# Start and enable RabbitMQ
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-serverInitial Setup
# Enable management plugin
sudo rabbitmq-plugins enable rabbitmq_management
# Create RabbitMQ user
sudo rabbitmqctl add_user username password
# Set user permissions
sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# Make user administrator
sudo rabbitmqctl set_user_tags username administrator
# List users
sudo rabbitmqctl list_usersService Management
# Start RabbitMQ
sudo systemctl start rabbitmq-server
# Stop RabbitMQ
sudo systemctl stop rabbitmq-server
# Restart RabbitMQ
sudo systemctl restart rabbitmq-server
# Check status
sudo systemctl status rabbitmq-server
# View logs
sudo tail -f /var/log/rabbitmq/[email protected]User Management
# Add new user
sudo rabbitmqctl add_user username password
# Delete user
sudo rabbitmqctl delete_user username
# Change password
sudo rabbitmqctl change_password username newpassword
# Set permissions
sudo rabbitmqctl set_permissions -p /vhost username ".*" ".*" ".*"
# List users
sudo rabbitmqctl list_users
# List user permissions
sudo rabbitmqctl list_user_limits usernameVirtual Host Management
# Add virtual host
sudo rabbitmqctl add_vhost vhost_name
# Delete virtual host
sudo rabbitmqctl delete_vhost vhost_name
# List virtual hosts
sudo rabbitmqctl list_vhosts
# Set vhost permissions for user
sudo rabbitmqctl set_permissions -p vhost_name username ".*" ".*" ".*"Management Interface
# Access RabbitMQ Management Console
# http://server-ip:15672
# Default credentials
# username: guest
# password: guest
# Disable guest user
sudo rabbitmqctl delete_user guestFirewall Configuration
# UFW (Ubuntu)
sudo ufw allow 5672 # AMQP port
sudo ufw allow 15672 # Management UI port
# Firewalld (CentOS)
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --reloadQueue & Exchange Management
# List queues
sudo rabbitmqctl list_queues
# List exchanges
sudo rabbitmqctl list_exchanges
# List bindings
sudo rabbitmqctl list_bindings
# Delete queue
sudo rabbitmqctl delete_queue queue_nameConfiguration
RabbitMQ Configuration File
# Main configuration
sudo nano /etc/rabbitmq/rabbitmq.conf
# Or advanced configuration
sudo nano /etc/rabbitmq/advanced.configCommon Settings
# Default vhost
default_vhost = /
# Default user
default_user = guest
# Default permissions
default_permissions.configure = .*
default_permissions.read = .*
default_permissions.write = .*
# Memory threshold
vm_memory_high_watermark.relative = 0.6
vm_memory_high_watermark_paging_ratio = 0.75
# Disk threshold
disk_free_limit.absolute = 2GBUninstall
Ubuntu/Debian
# Stop RabbitMQ
sudo systemctl stop rabbitmq-server
# Remove RabbitMQ
sudo apt remove rabbitmq-server -y
sudo apt autoremove -y
# Remove data
sudo rm -rf /var/lib/rabbitmq
sudo rm -rf /var/log/rabbitmq
sudo rm -rf /etc/rabbitmqCentOS/RHEL
# Stop RabbitMQ
sudo systemctl stop rabbitmq-server
# Remove RabbitMQ
sudo yum remove rabbitmq-server -y
# Remove data
sudo rm -rf /var/lib/rabbitmq
sudo rm -rf /var/log/rabbitmq