RabbitMQ è un software broker di messaggi open source che implementa l'Advanced Message Queuing Protocol (AMQP). RabbitMQ funziona ricevendo messaggi dagli editori (applicazioni che li pubblicano) e li indirizza ai consumatori (applicazioni che li elaborano).
Contenuti correlati
- Come installare Erlang su ArchLinux
- Come installare Erlang su FreeBSD 13
- Come installare RabbitMQ in FreeBSD 13
- Come installare Erlang su Ubuntu 20.04
- Come installare Erlang su OpenSUSE Leap 15.3
- Come installare RabbitMQ in OpenSUSE Leap 15.3
- Come installare Erlang su Fedora 35
- Come installare RabbitMQ in Fedora 35
- Come installare Erlang su Rocky Linux/Alma Linux/CentOS 8
- Come installare e abilitare il repository EPEL su Rocky Linux/Centos 8
Prerequisiti
Per seguire, assicurati di avere quanto segue
- Una macchina Archlinux aggiornata
- Accesso a Internet
- Accesso root o utente con accesso Sudo
Indice dei contenuti
- Aggiornamento del sistema
- Installazione di Erlang
- Installazione di RabbitMQ
- Avvio e abilitazione del servizio rabbitmq-server
- Facoltativo:abilitazione del dashboard RabbitMQ
- Comandi di base per la gestione degli utenti di RabbitMQ
1. Aggiornamento del sistema
Prima di procedere, assicurarsi che i pacchetti del server siano aggiornati. Usa questo comando per ottenere ciò:
sudo pacman -Syyu
2. Installazione di Erlang
Il pacchetto RabbitMQ si trova nei repository Archlinux predefiniti. Installalo usando questo comando:
sudo pacman -S erlang
4. Installazione di Rabbitmq
RabbitMQ può essere trovato nei repository Ubuntu predefiniti. Installa usando questo comando:
sudo pacman -S rabbitmq
I dettagli del pacchetto possono essere richiesti utilizzando pacman
comando con l'opzione -Qi
.
$ sudo pacman -Qi rabbitmq Name : rabbitmq Version : 3.8.22-1 Description : Highly reliable and performant enterprise messaging implementation of AMQP written in Erlang/OTP Architecture : any URL : https://rabbitmq.com Licenses : MPL Groups : None Provides : None Depends On : util-linux inetutils erlang-nox socat Optional Deps : rabbitmqadmin: CLI management tool logrotate: rotate log files Required By : None Optional For : None Conflicts With : None Replaces : None Installed Size : 17.29 MiB Packager : Levente Polyak <[email protected]> Build Date : Tue 07 Sep 2021 09:06:32 PM UTC Install Date : Sat 04 Dec 2021 03:57:11 PM UTC Install Reason : Explicitly installed Install Script : Yes Validated By : Signature
5. Avvio e abilitazione del servizio rabbitmq-server
Avvia il servizio
sudo systemctl start rabbitmq
Quindi controlla lo stato per confermarne l'esecuzione
$ sudo systemctl status rabbitmq
● rabbitmq.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-12-04 15:58:46 UTC; 7s ago
Main PID: 14398 (beam.smp)
Status: "Initialized"
Tasks: 24 (limit: 4606)
Memory: 93.3M
CGroup: /system.slice/rabbitmq.service
├─14398 /usr/lib/erlang/erts-12.1.5/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu >
├─14410 erl_child_setup 1024
├─14436 /usr/lib/erlang/erts-12.1.5/bin/epmd -daemon
├─14459 inet_gethost 4
└─14460 inet_gethost 4
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: TLS Library: OpenSSL - OpenSSL 1.1.1k 25 Mar 2021
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: Doc guides: https://rabbitmq.com/documentation.html
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: Support: https://rabbitmq.com/contact.html
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: Tutorials: https://rabbitmq.com/getstarted.html
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: Monitoring: https://rabbitmq.com/monitoring.html
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: Logs: /var/log/rabbitmq/[email protected]
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: /var/log/rabbitmq/[email protected]_upgrade.log
Dec 04 15:58:42 ip-10-2-40-103 rabbitmq[14398]: Config file(s): (none)
Dec 04 15:58:45 ip-10-2-40-103 rabbitmq[14398]: Starting broker... completed with 0 plugins.
Dec 04 15:58:46 ip-10-2-40-103 systemd[1]: Started RabbitMQ broker.
Ora puoi abilitarlo all'avvio
sudo systemctl enable rabbitmq
Puoi ottenere lo stato degli interni di Rabbitmq:
$ sudo rabbitmqctl status
6. Opzionale:abilitazione del dashboard RabbitMQ
Usa il rabbitmq-plugins enable
comando per abilitare la dashboard di gestione:
$ sudo rabbitmq-plugins enable rabbitmq_management
/usr/lib/erlang/erts-12.1.5/bin/beam.smp: /usr/lib/libncursesw.so.6: no version information available (required by /usr/lib/erlang/erts-12.1.5/bin/beam.smp)
Enabling plugins on node [email protected]:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to [email protected]
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
Il servizio web è in ascolto sulla porta 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 1024 0.0.0.0:15672 0.0.0.0:*
Accedi aprendo l'URL http://[server_ip]:15672
come http://127.0.0.1:15672
Per impostazione predefinita, l'ospite l'utente esiste e può connettersi solo da localhost
. Puoi accedere con questo utente in locale con la password "ospite"
Per poter accedere alla rete, crea un utente amministratore come di seguito:
$ sudo rabbitmqctl add_user admin Secr3t Adding user "admin" ... Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. $ sudo rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ...
Accedi con questo nome utente amministratore e la password assegnata. Dovresti vedere un'interfaccia simile alla seguente:
7. Comandi di base per la gestione degli utenti di RabbitMQ
Elimina utente:
sudo rabbitmqctl delete_user user
Modifica password utente:
sudo rabbitmqctl change_password user strongpassword
Crea un nuovo host virtuale:
sudo rabbitmqctl add_vhost /my_vhost
Elenca gli host virtuali disponibili:
sudo rabbitmqctl list_vhosts
Elimina un host virtuale:
sudo rabbitmqctl delete_vhost /myvhost
Concedi autorizzazioni utente per vhost:
sudo rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"
Elenca i permessi vhost:
sudo rabbitmqctl list_permissions -p /myvhost
Per elencare le autorizzazioni utente:
rabbitmqctl list_user_permissions user
Elimina le autorizzazioni utente:
rabbitmqctl clear_permissions -p /myvhost user
Conclusione
Siamo riusciti a installare Rabbitmq in questa guida.