RabbitMQ es un software de intermediario de mensajes de código abierto que implementa el Protocolo avanzado de cola de mensajes (AMQP). RabbitMQ funciona al recibir mensajes de los editores (aplicaciones que los publican) y los enruta a los consumidores (aplicaciones que los procesan).
Contenido relacionado
- Cómo instalar Erlang en FreeBSD 13
- Cómo instalar RabbitMQ en FreeBSD 13
- Cómo instalar Erlang en Ubuntu 20.04
- Cómo instalar Erlang en OpenSUSE Leap 15.3
- Cómo instalar Erlang en Fedora 35
- Cómo instalar RabbitMQ en Fedora 35
- Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8
- Cómo instalar y habilitar el repositorio EPEL en Rocky Linux/Centos 8
Requisitos
Para seguir, asegúrese de tener lo siguiente
- Un servidor/estación de trabajo OpenSUSE Leap actualizado
- Acceso a Internet
- Acceso raíz o usuario con acceso Sudo
Tabla de contenido
- Actualización del sistema
- Instalación de Erlang
- Instalando RabbitMQ
- Iniciando y habilitando el servicio del servidor rabbitmq
- Opcional:habilitar el panel de RabbitMQ
- Comandos básicos de administración de usuarios de RabbitMQ
1. Actualizando el sistema
Antes de continuar, asegúrese de que los paquetes del servidor estén actualizados. Usa este comando para lograrlo:
sudo zypper ref
sudo zypper up -y
2. Instalando Erlang
El paquete RabbitMQ se encuentra en los repositorios predeterminados de OpenSUSE. Instálalo usando este comando:
sudo zypper install -y erlang
Esta es la salida en mi servidor
~> sudo zypper install -y erlang
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following recommended package was automatically selected:
psqlODBC
The following 6 NEW packages are going to be installed:
erlang erlang-epmd libltdl7 libpq5 psqlODBC unixODBC
6 new packages to install.
Overall download size: 28.9 MiB. Already cached: 0 B. After the operation, additional 52.3 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package libltdl7-2.4.6-3.4.1.x86_64 (1/6), 32.6 KiB ( 38.6 KiB unpacked)
Retrieving: libltdl7-2.4.6-3.4.1.x86_64.rpm ....................................................................................[done]
Retrieving package libpq5-14.0-5.3.1.x86_64 (2/6), 172.2 KiB (679.2 KiB unpacked)
Retrieving: libpq5-14.0-5.3.1.x86_64.rpm .......................................................................................[done]
Retrieving package unixODBC-2.3.6-3.2.1.x86_64 (3/6), 306.1 KiB ( 1.0 MiB unpacked)
Retrieving: unixODBC-2.3.6-3.2.1.x86_64.rpm ....................................................................................[done]
Retrieving package psqlODBC-13.01.0000-3.9.1.x86_64 (4/6), 405.1 KiB ( 1.3 MiB unpacked)
Retrieving: psqlODBC-13.01.0000-3.9.1.x86_64.rpm ..................................................................[done (16.3 KiB/s)]
Retrieving package erlang-22.3-1.26.x86_64 (5/6), 27.9 MiB ( 49.2 MiB unpacked)
Retrieving: erlang-22.3-1.26.x86_64.rpm ...........................................................................[done (29.6 MiB/s)]
Retrieving package erlang-epmd-22.3-1.26.x86_64 (6/6), 145.4 KiB ( 55.3 KiB unpacked)
Retrieving: erlang-epmd-22.3-1.26.x86_64.rpm ......................................................................[done (16.4 KiB/s)]
Checking for file conflicts: ...................................................................................................[done]
(1/6) Installing: libltdl7-2.4.6-3.4.1.x86_64 ..................................................................................[done]
(2/6) Installing: libpq5-14.0-5.3.1.x86_64 .....................................................................................[done]
(3/6) Installing: unixODBC-2.3.6-3.2.1.x86_64 ..................................................................................[done]
(4/6) Installing: psqlODBC-13.01.0000-3.9.1.x86_64 .............................................................................[done]
Additional rpm output:
odbcinst: Driver installed. Usage count increased to 1.
Target directory is /etc/unixODBC
(5/6) Installing: erlang-22.3-1.26.x86_64 ......................................................................................[done]
(6/6) Installing: erlang-epmd-22.3-1.26.x86_64 .................................................................................[done]
Additional rpm output:
Created symlink /etc/systemd/system/sockets.target.wants/epmd.socket -> /usr/lib/systemd/system/epmd.socket.
4. Instalando Rabbitmq
RabbitMQ se puede encontrar en los repositorios predeterminados de OpenSUSE. Instalar usando este comando:
sudo zypper install -y rabbitmq-server
Debería ver un resultado similar a este:
~> sudo zypper install -y rabbitmq-server
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 3 NEW packages are going to be installed:
rabbitmq-server rabbitmq-server-plugins socat
3 new packages to install.
Overall download size: 15.2 MiB. Already cached: 0 B. After the operation, additional 16.4 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package socat-1.7.3.2-4.10.x86_64 (1/3), 227.4 KiB (710.5 KiB unpacked)
Retrieving: socat-1.7.3.2-4.10.x86_64.rpm ......................................................................................[done]
Retrieving package rabbitmq-server-plugins-3.8.11-3.3.3.x86_64 (2/3), 3.6 MiB ( 3.7 MiB unpacked)
Retrieving: rabbitmq-server-plugins-3.8.11-3.3.3.x86_64.rpm ..........................................................[done (954 B/s)]
Retrieving package rabbitmq-server-3.8.11-3.3.3.x86_64 (3/3), 11.4 MiB ( 12.0 MiB unpacked)
Retrieving: rabbitmq-server-3.8.11-3.3.3.x86_64.rpm ...............................................................[done (16.6 KiB/s)]
Checking for file conflicts: ...................................................................................................[done]
(1/3) Installing: socat-1.7.3.2-4.10.x86_64 ....................................................................................[done]
(2/3) Installing: rabbitmq-server-plugins-3.8.11-3.3.3.x86_64 ..................................................................[done]
(3/3) Installing: rabbitmq-server-3.8.11-3.3.3.x86_64 ..........................................................................[done]
Los detalles del paquete se pueden consultar mediante rpm
comando con la opción -qi
.
$ rpm -qi rabbitmq-server Name : rabbitmq-server Version : 3.8.23 Release : 1.fc34 Architecture: x86_64 Install Date: Fri 12 Nov 2021 07:14:47 PM UTC Group : Unspecified Size : 16503697 License : MPLv1.1 Signature : RSA/SHA256, Wed 20 Oct 2021 03:42:27 PM UTC, Key ID 1161ae6945719a39 Source RPM : rabbitmq-server-3.8.23-1.fc34.src.rpm Build Date : Wed 20 Oct 2021 03:16:35 PM UTC Build Host : buildvm-x86-11.iad2.fedoraproject.org Packager : Fedora Project Vendor : Fedora Project URL : https://www.rabbitmq.com/ Bug URL : https://bugz.fedoraproject.org/rabbitmq-server Summary : The RabbitMQ server Description : RabbitMQ is an implementation of AMQP, the emerging standard for high performance enterprise messaging. The RabbitMQ server is a robust and scalable implementation of an AMQP broker.
5. Iniciando y habilitando el servicio del servidor rabbitmq
Iniciar el servicio
sudo systemctl start rabbitmq-server
Luego verifique el estado para confirmar que se está ejecutando
~> sudo systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2021-11-14 17:46:33 UTC; 10s ago
Main PID: 2478 (beam.smp)
Status: "Initialized"
Tasks: 24 (limit: 8192)
CGroup: /system.slice/rabbitmq-server.service
├─2474 /bin/sh /usr/sbin/rabbitmq-server
├─2478 /usr/lib64/erlang/erts-10.7/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128>
├─2489 erl_child_setup 65535
├─2538 inet_gethost 4
└─2539 inet_gethost 4
Nov 14 17:46:26 ip-10-2-40-188 systemd[1]: Starting RabbitMQ broker...
Nov 14 17:46:33 ip-10-2-40-188 systemd[1]: rabbitmq-server.service: Supervising process 2478 which is not our child. We'll most likely not notice when it exits.
Nov 14 17:46:33 ip-10-2-40-188 systemd[1]: Started RabbitMQ broker.
Ahora puede habilitarlo en el arranque
sudo systemctl enable rabbitmq-server
Puede obtener el estado de los elementos internos de rabbitmq:
$ sudo rabbitmqctl status
6. Opcional:habilitar el panel de RabbitMQ
Use la rabbitmq-plugins enable
Comando para habilitar el panel de administración:
~> sudo rabbitmq-plugins enable rabbitmq_management
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
set 3 plugins.
Offline change; changes will take effect at broker restart.
El servicio web está escuchando en el puerto 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 128 0.0.0.0:15672 0.0.0.0:*
Si tiene un servicio Firewalld activo, permita los puertos 5672
y 15672
$ ss -tunlp | grep 15672
tcp LISTEN 0 1024 0.0.0.0:15672 0.0.0.0:*
Acceda a él abriendo la URL http://[server IP]:15672
como http://127.0.0.1:15672
De forma predeterminada, el invitado el usuario existe y solo puede conectarse desde localhost
. Puede iniciar sesión con este usuario localmente con la contraseña "invitado"
Para poder iniciar sesión en la red, cree un usuario administrador como se muestra a continuación:
$ 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] ...
Inicie sesión con este nombre de usuario de administrador y la contraseña asignada. Debería ver una interfaz similar a la siguiente:
7. Comandos básicos de gestión de usuarios de RabbitMQ
Eliminar usuario:
sudo rabbitmqctl delete_user user
Cambiar contraseña de usuario:
sudo rabbitmqctl change_password user strongpassword
Crear nuevo servidor virtual:
sudo rabbitmqctl add_vhost /my_vhost
Lista de servidores virtuales disponibles:
sudo rabbitmqctl list_vhosts
Eliminar un host virtual:
sudo rabbitmqctl delete_vhost /myvhost
Otorgar permisos de usuario para vhost:
sudo rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"
Lista de permisos de vhost:
sudo rabbitmqctl list_permissions -p /myvhost
Para enumerar los permisos de usuario:
rabbitmqctl list_user_permissions user
Eliminar permisos de usuario:
rabbitmqctl clear_permissions -p /myvhost user
Conclusión
Hemos logrado instalar Rabbitmq en esta guía