Guia de tecnologias

Instalar RabbitMQ no CentOS 7

5 min read DevOps Atualizado 20 Oct 2025
Instalar RabbitMQ no CentOS 7
Instalar RabbitMQ no CentOS 7

Este guia mostra passo a passo como instalar Erlang e RabbitMQ no CentOS 7, abrir as portas necessárias no firewall, ativar o console web e criar um usuário administrador. Inclui checklist de verificação, comandos essenciais, dicas de segurança e resolução de problemas comuns.

O que é RabbitMQ

RabbitMQ é um broker de mensagens open source, escrito em Erlang e que implementa o protocolo AMQP (Advanced Message Queueing Protocol). Fornece bibliotecas cliente para as principais linguagens, suporte a vários protocolos de mensageria, confirmação de entrega, roteamento flexível e vários tipos de exchange. Tem API HTTP, ferramenta de linha de comando e uma interface web para administração.

Pré-requisitos

  • Servidor CentOS 7 com instalação mínima
  • Privilégios de root. Se usar sudo, execute sudo -i antes.

Atualizar o sistema base

Antes de instalar pacotes, atualize repositórios e pacotes:

yum -y update

Após a atualização, prossiga para instalar o Erlang.

Instalar Erlang

RabbitMQ exige Erlang. Erlang não está no repositório YUM padrão do CentOS 7, por isso instale o EPEL e depois o Erlang e dependências:

yum -y install epel-release
yum -y update
yum -y install erlang socat

Verifique a versão do Erlang:

erl -version

Exemplo de saída:

[root@liptan-pc ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

Entre no shell do Erlang com:

erl

Saída de amostra do shell Erlang:

Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with ^G)
1>

Para sair do shell pressione Ctrl+C duas vezes.

Instalar RabbitMQ

Faça o download do pacote RPM pré-compilado para CentOS 7 (exemplo usado nesta receita: v3.6.10):

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

Se não tiver wget instalado, execute yum -y install wget.

Importe a chave GPG do projeto RabbitMQ:

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

Instale o pacote RPM:

rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

RabbitMQ ficará instalado no sistema.

Iniciar e habilitar o serviço

Inicie o serviço RabbitMQ:

systemctl start rabbitmq-server

Habilite o serviço para iniciar automaticamente no boot:

systemctl enable rabbitmq-server

Verifique o status do serviço:

systemctl status rabbitmq-server

Exemplo de saída quando iniciado com sucesso:

? rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago
 Main PID: 29006 (beam.smp)
   Status: "Initialized"
   CGroup: /system.slice/rabbitmq-server.service
           ??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K tr...
           ??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon
           ??29283 erl_child_setup 1024
           ??29303 inet_gethost 4
           ??29304 inet_gethost 4

Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker...
Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service"
Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker.
Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.

Regras de firewall e SELinux

Se o firewalld estiver ativo, abra as portas necessárias. As portas abaixo são tipicamente usadas por RabbitMQ e plugins (AMQP, management plugin, STOMP, MQTT, clustering):

firewall-cmd --zone=public --permanent --add-port=4369/tcp  
firewall-cmd --zone=public --permanent --add-port=25672/tcp  
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp  
firewall-cmd --zone=public --permanent --add-port=15672/tcp  
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp  
firewall-cmd --zone=public --permanent --add-port=1883/tcp  
firewall-cmd --zone=public --permanent --add-port=8883/tcp

Recarregue as regras do firewall:

firewall-cmd --reload

Se o SELinux estiver ativado, permita a operação do serviço conforme exemplo:

setsebool -P nis_enabled 1

Nota: ajuste políticas SELinux específicas à sua política de segurança se necessário.

Acessar o console web

Ative o plugin de gerenciamento web:

rabbitmq-plugins enable rabbitmq_management

Ajuste propriedade dos arquivos do RabbitMQ:

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

Crie um usuário administrador para o console web e defina permissões (troque admin e StrongPassword):

rabbitmqctl add_user admin StrongPassword  
rabbitmqctl set_user_tags admin administrator  
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

Para acessar o painel administrativo, abra no navegador:

http://Your_Server_IP:15672/

Você verá a tela de login do RabbitMQ.

Login do RabbitMQ

Depois do login, visualizará o dashboard administrativo.

Visão geral do RabbitMQ

Na aba Admin você encontra usuários, virtual hosts e políticas. Exclua o usuário Guest por segurança.

Usuários do RabbitMQ

Na aba Queues você gerencia filas: criar, inspecionar e excluir.

Filas do RabbitMQ

Na aba Connections aparece a lista de conexões ativas.

Conexões do RabbitMQ

As abas Channels e Exchanges mostram canais e exchanges respectivamente.

Exchanges do RabbitMQ

Checklist rápido de implantação

  • Sistema CentOS 7 atualizado
  • EPEL instalado
  • Erlang e socat instalados
  • RPM do RabbitMQ instalado e assinaturas importadas
  • Serviço rabbitmq-server ativo e habilitado
  • Portas do firewall abertas e firewall recarregado
  • SELinux ajustado conforme política
  • Plugin rabbitmq_management ativado
  • Usuário administrador criado e usuário Guest removido

Comandos essenciais (cheat sheet)

  • Atualizar sistema: yum -y update
  • Instalar EPEL: yum -y install epel-release
  • Instalar Erlang: yum -y install erlang socat
  • Baixar RabbitMQ: wget
  • Importar GPG: rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
  • Instalar RPM: rpm -Uvh rabbitmq-server-*.rpm
  • Iniciar serviço: systemctl start rabbitmq-server
  • Habilitar no boot: systemctl enable rabbitmq-server
  • Ativar plugin web: rabbitmq-plugins enable rabbitmq_management

Segurança e boas práticas

  • Nunca deixe o usuário Guest ativo em produção.
  • Use senhas fortes para usuários administrativos e considere autenticação externa (LDAP, SASL) quando apropriado.
  • Habilite TLS para conexões AMQP e HTTP (management) em ambientes públicos.
  • Restrinja as portas do cluster a uma rede privada quando usar clustering entre nós.
  • Faça backups regulares das configurações e políticas (rabbitmqctl export_definitions).

Quando a instalação pode falhar e como diagnosticar

  • Problema: Erlang ausente ou versão incompatível — verifique erl -version e instale versão compatível.
  • Problema: Porta já em uso — use ss -tlnp para identificar processos que ocupam as portas necessárias.
  • Problema: Serviço não sobe — verifique logs em /var/log/rabbitmq/ e o journal com journalctl -u rabbitmq-server -b.
  • Problema: Plugin de management não aparece — rode rabbitmq-plugins list para confirmar o status.

Exemplo de solução rápida de erro comum

Se o serviço não inicia por erro de memória ou limites do sistema, aumente os limites de file descriptors temporariamente e teste:

ulimit -n 65536
systemctl restart rabbitmq-server

Para persistir, ajuste /etc/security/limits.conf e a unidade systemd com LimitNOFILE.

Papel e responsabilidades (checklist por função)

  • Administrador de sistema: instalar pacotes, configurar firewall/SELinux, gerenciar updates do OS.
  • Administrador de mensageria/DevOps: configurar políticas, vhosts, usuários, monitoramento e backups.
  • Desenvolvedor: usar bibliotecas cliente apropriadas, testar reconexão e tratamento de mensagens duplicadas.

Glossário rápido

  • Broker: componente que recebe, roteia e entrega mensagens entre produtores e consumidores.
  • Exchange: ponto de entrada para mensagens que decide para quais filas elas vão.
  • Queue (fila): estrutura que guarda mensagens até serem consumidas.

Resumo

Agora você tem os passos necessários para instalar e configurar RabbitMQ no CentOS 7: atualizar o sistema, instalar Erlang, instalar o RPM do RabbitMQ, abrir portas no firewall, habilitar o plugin de management e criar um usuário administrador. Siga o checklist, aplique as recomendações de segurança e use os comandos do cheat sheet para acelerar a operação.

Importante: mantenha o software atualizado e valide compatibilidade entre versões de Erlang e RabbitMQ antes de atualizar em produção.

Autor
Edição

Materiais semelhantes

Reduzir animações no iOS 26 — Guia prático
Acessibilidade

Reduzir animações no iOS 26 — Guia prático

Emergency Bypass no iPhone (iOS 17)
iOS

Emergency Bypass no iPhone (iOS 17)

Corrigir erro WOTS desativado no Windows
Windows

Corrigir erro WOTS desativado no Windows

Como cancelar Netflix — Guia passo a passo
Assinaturas

Como cancelar Netflix — Guia passo a passo

Corrigir erro 'Algo deu errado' no X
Guias

Corrigir erro 'Algo deu errado' no X

Preservar ícones do Windows ao usar temas
Windows

Preservar ícones do Windows ao usar temas