Este guia aborda a instalação do RabbitMQ em um servidor ECS da Alibaba Cloud executando CentOS, focando na configuração essencial para acesso remoto e gerenciamento.
Preparando o Ambiente Erlang
O RabbitMQ requer o Erlang como base. Para instalá-lo no CentOS, utilize o repositório oficial via script de configuração do yum:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
sudo yum install -y erlang
Verifique a instalação executando o interpretador Erlang:
erl -v
# Saída esperada (versão OTP 22 como exemplo):
Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]
Eshell V10.4.4 (abort with ^G)
Instalnado o Servidor RabbitMQ
É crucial verificar a compatibilidade entre as versões do Erlang e do RabbitMQ. Consulte a documentação oficial do RabbitMQ para detalhes. Para Erlang OTP 22, a versão 3.8.8 do RabbitMQ é adequada.
Existem duas abordagens comuns para a instalação. A primeira envolve baixar o pacote RPM diretamente do GitHub:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.8/rabbitmq-server-3.8.8-1.el6.noarch.rpm
sudo yum install -y rabbitmq-server-3.8.8-1.el6.noarch.rpm
Alternativamente, faça o download manual do arquivo RPM do GitHub e transfira-o para o servidor. Em seguida, instale com yum no diretório local:
sudo yum install -y rabbitmq-server-3.8.8-1.el6.noarch.rpm
Após a conclusão, confirme o status da instalação:
rabbitmqctl status
Inicie o servidor em modo daemon:
rabbitmq-server -detached
Configurações Iniciais
Ativando a Interface Web de Gerenciamento
Habilite o plugin de administração web para gerenciamento via navegador:
rabbitmq-plugins enable rabbitmq_management
Criando um Usuário para Acesso Remoto
O usuário padrão 'guest' com senha 'guest' está restrito ao localhost. Para acesso remoto, crie um novo usuário administrativo:
# Listar usuários existentes
rabbitmqctl list_users;
# Adicionar um novo usuário (substitua 'admin' e 'senha_segura' por credenciais desejadas)
rabbitmqctl add_user admin senha_segura
# Conceder privilégios de administrador ao usuário
rabbitmqctl set_user_tags admin administrator
# Definir permissões completas no host virtual padrão '/'
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Se estiver usando um servidor cloud, configure o grupo de segurança para permitir tráfego nas portas 5672 (comunicação do servidor RabbitMQ) e 15672 (interface web de gerenciamento). Concluído este processo, o RabbitMQ estará acessível remotamenet.