RabbitMQ è il software di accodamento messaggi o broker di messaggi gratuito e open source più popolare. RabbitMQ originariamente implementava Advanced Message Queuing Protocol (AMQP). Supporta anche protocolli come STOMP (Streaming Text Oriented Messaging Protocol) e MQTT (Message Queuing Telemetry Transport).
In genere, il software di brokeraggio di messaggi viene utilizzato per inviare e ricevere messaggi tra vari tipi di servizi distribuiti, sistemi o applicazioni.
RabbitMQ, che è stato scritto nel linguaggio di programmazione Erlang, ha le seguenti caratteristiche:
- Supporto per più protocolli:AMQP, MQTT, STOMP, HTTP
- Supporto per interfacce client e librerie per tutti i principali linguaggi di programmazione
- Raggruppamento / Alta disponibilità
- Un set diversificato di strumenti e plug-in
- Instradamento dei messaggi tra scambi e code
- Interfaccia web intuitiva per monitorare e controllare il broker di messaggi
- Capacità di tracciamento
In questo tutorial, ti mostreremo come configurare RabbitMQ su Ubuntu 18.04 (Bionic Beaver).
Installazione di RabbitMQ su Ubuntu
Innanzitutto, aggiorniamo i repository Ubuntu:
sudo apt-get update
Aggiungi la chiave di firma utilizzando uno dei seguenti comandi:
wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add -
o
sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
Crea un file di repository Rabbitmq.
vim /etc/apt/sources.list.d/bintray.rabbitmq.list
Aggiungi i seguenti repository al file.
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang deb https://dl.bintray.com/rabbitmq/debian bionic main
Salva e chiudi il file.
Esegui l'aggiornamento del repository.
sudo apt-get update
Installa il server RabbitMQ.
sudo apt-get install rabbitmq-server
Controlla lo stato del server RabbitMQ.
sudo systemctl status rabbitmq-server.service
Se RabbitMQ non è in esecuzione, avvia il servizio con questo comando:
sudo systemctl start rabbitmq-server.service
Abilita il servizio RabbitMQ all'avvio del sistema.
sudo systemctl enable rabbitmq-server
Porte RabbitMQ
4369:epmd, un servizio di peer discovery utilizzato dai nodi RabbitMQ e dagli strumenti CLI
5672, 5671:utilizzato dai client AMQP 0-9-1 e 1.0 senza e con TLS
25672:utilizzato per l'inter-nodo e Comunicazione strumenti CLI
35672-35682:utilizzato dagli strumenti CLI (porte client di distribuzione Erlang) per la comunicazione con i nodi ed è allocato da un intervallo dinamico
15672:client API HTTP, interfaccia utente di gestione e rabbitmqadmin (solo se il plug-in di gestione è abilitato)
61613, 61614:client STOMP senza e con TLS (solo se il plug-in STOMP è abilitato)
1883, 8883:(client MQTT senza e con TLS, se il plug-in MQTT è abilitato)
15674:Client STOMP-over-WebSockets (solo se il plug-in Web STOMP è abilitato)
15675:Client MQTT-over-WebSockets (solo se il plug-in Web MQTT è abilitato)
Consenti interfaccia utente di gestione RabbitMQ tramite firewall
La console di gestione RabbitMQ viene eseguita sulla porta 15672 e deve essere concessa l'autorizzazione tramite il firewall.
sudo ufw allow 15672
Dopo una corretta installazione, possiamo accedere alla console di gestione web e funziona sulla porta "15672".
Ma per impostazione predefinita, il plug-in "Installation Management Console" non è abilitato. Questo plugin è necessario per monitorare e gestire il server RabbitMQ. Viene anche utilizzato per monitorare le code, la velocità dei messaggi e gestire le code, i collegamenti e gli utenti, ecc.
Vediamo come possiamo abilitare il plug-in "Installation Management Console". Ma prima di farlo, diamo un'occhiata a tutti i plugin RabbitMQ disponibili.
sudo rabbitmq-plugins list
Ora abilita il plug-in di gestione RabbitMQ
sudo rabbitmq-plugins enable rabbitmq_management
Possiamo accedere alla Console di gestione utilizzando l'utente ospite predefinito. Ma dobbiamo creare e aggiungere un nuovo utente amministratore per accedere alla Console di gestione.
Qui creiamo un utente con nome utente "admin" e la password è anche "admin". Ma consiglierei di utilizzare una password complessa per la sicurezza.
sudo rabbitmqctl add_user admin admin
Ora tagghiamo il nostro utente "admin", che abbiamo creato nei passaggi precedenti, come "amministratore"
sudo rabbitmqctl set_user_tags admin administrator
Ora siamo pronti per riavviare il servizio RabbitMQ
sudo systemctl restart rabbitmq-server.service
Prima di accedere all'interfaccia utente di gestione, controlliamo le porte sul server
sudo netstat -tunlp
Accesso all'interfaccia utente di gestione
È possibile accedere alla Console di gestione utilizzando uno di questi URL:
- http://ServerIp o
- nome host:15672/
Ad esempio:– http://13.236.85.236:15672 / o http://rabbitmq.fosslinux.com:15672
Potrai visualizzare la finestra di accesso della console.
Quindi utilizza il nome utente e la password dell'amministratore già creati per accedere alla dashboard.
Hai installato e configurato correttamente il server RabbitMQ.
In caso di problemi o domande, non esitare a chiedere nella sezione commenti qui sotto.