Guía de tecnologías

Instalar RabbitMQ en CentOS 7

6 min read DevOps Actualizado 20 Oct 2025
Instalar RabbitMQ en CentOS 7
Instalar RabbitMQ en CentOS 7

Introducción

RabbitMQ es un broker de mensajes empresarial, libre y de código abierto. Está escrito en Erlang e implementa AMQP (Advanced Message Queuing Protocol). Ofrece bibliotecas cliente para los principales lenguajes, varios protocolos de mensajería, confirmaciones de entrega, rutas flexibles a colas y varios tipos de exchanges. También dispone de una API HTTP, herramientas de línea de comandos y una interfaz web para administración.

Definición en una línea: un broker de mensajes que facilita la comunicación asíncrona entre procesos, servidores y aplicaciones.

Variantes de intención relacionadas

  • instalar RabbitMQ CentOS 7
  • tutorial RabbitMQ CentOS 7
  • configurar RabbitMQ en CentOS
  • instalar Erlang para RabbitMQ
  • habilitar panel web RabbitMQ

Requisitos previos

  • Servidor CentOS 7 básico
  • Privilegios de root. Esta guía asume que trabajas como root; si usas sudo, ejecuta sudo -i antes de comenzar.

Actualizar el sistema base

Antes de instalar paquetes, actualiza los paquetes y repositorios:

yum -y update

Tras la actualización, continúa con la instalación de Erlang.

Instalar Erlang

RabbitMQ necesita Erlang. En CentOS 7, Erlang no siempre está en el repositorio por defecto, por eso añadiremos EPEL.

yum -y install epel-release

yum -y update

yum -y install erlang socat

Verifica la versión de Erlang:

erl -version

Ejemplo de salida esperada:

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

Para entrar en la consola interactiva de Erlang:

erl

Salida de ejemplo al iniciar la shell:

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>

Sal de la shell con Ctrl+C dos veces.

Instalar RabbitMQ

RabbitMQ distribuye paquetes RPM precompilados para Enterprise Linux. Descarga la versión indicada (ajusta la URL a la versión que prefieras):

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

Si no tienes wget, instálalo:

yum -y install wget

Importa la clave GPG del repositorio para verificar el paquete:

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

Instala el paquete RPM:

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

Tras la instalación, RabbitMQ estará disponible en el sistema.

Iniciar y habilitar el servicio

Inicia el servicio RabbitMQ:

systemctl start rabbitmq-server

Habilítalo para que arranque automáticamente en el boot:

systemctl enable rabbitmq-server

Revisa el estado del servicio:

systemctl status rabbitmq-server

Ejemplo de salida cuando está activo:

? 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.

Reglas de firewall y SELinux

Si usas firewalld, abre los puertos que RabbitMQ y sus plugins suelen utilizar. Los puertos comunes son: 4369, 25672, 5671-5672, 15672 (panel web), 61613-61614, 1883, 8883.

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

firewall-cmd --reload

Importante: adapta los puertos a los plugins que realmente uses. No expongas puertos innecesarios al exterior.

Si SELinux está activo, concede la política necesaria para que RabbitMQ funcione correctamente:

setsebool -P nis_enabled 1

Nota: según configuración de tu distribución, puede ser necesario ajustar contextos o habilitar módulos adicionales de SELinux.

Acceder al panel web de administración

Habilita el plugin de gestión web:

rabbitmq-plugins enable rabbitmq_management

Asegura la propiedad de los archivos de RabbitMQ al usuario y grupo apropiados:

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

Crea un usuario administrador y asigna permisos:

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

Cambia admin por el nombre de usuario deseado y StrongPassword por una contraseña robusta.

Abre en el navegador:

http://Your_Server_IP:15672/

Verás la pantalla de inicio de sesión.

Pantalla de inicio de sesión de RabbitMQ

Una vez autenticado verás el panel de control.

Vista general del panel de RabbitMQ

En la pestaña Admin gestionas usuarios, vhosts y políticas. Por seguridad elimina el usuario Guest si no lo necesitas.

Lista de usuarios de RabbitMQ

En la pestaña Queues verás las colas y podrás crear o eliminar colas desde la interfaz.

Lista de colas de RabbitMQ

En Connections verás conexiones activas.

Conexiones actuales de RabbitMQ

También están disponibles Channels y Exchanges en sus pestañas correspondientes.

Exchanges de RabbitMQ

Comprobaciones y comandos útiles

  • Ver plugins instalados:
rabbitmq-plugins list
  • Estado y nodos del cluster:
rabbitmqctl status
rabbitmqctl cluster_status
  • Listar usuarios y permisos:
rabbitmqctl list_users
rabbitmqctl list_permissions -p /
  • Reiniciar servicio:
systemctl restart rabbitmq-server

Seguridad y buenas prácticas

  • Cambia la contraseña de administrador y usa contraseñas únicas y largas.
  • Elimina o deshabilita el usuario Guest si el servidor es accesible desde redes no confiables.
  • Limita el acceso al puerto 15672 (panel) mediante firewall o VPN.
  • Mantén Erlang y RabbitMQ actualizados; revisa notas de versión antes de actualizar en producción.

Alternativas y cuándo elegir otra opción

  • Si buscas un servicio en la nube gestionado, considera proveedores PaaS que ofrezcan RabbitMQ gestionado o colas gestionadas (ej.: servicios de colas del proveedor cloud). Esta guía cubre instalación autogestionada en CentOS 7.
  • Para cargas extremadamente altas y requisitos específicos de latencia, evalúa Apache Kafka como alternativa (modelo distinto: log distribuido vs broker con colas/exchanges).

Modo de fallo e incidencia común

  • Error: servicio no arranca por versión incompatible de Erlang. Solución: instala la versión de Erlang compatible con la versión de RabbitMQ que empleas.
  • Error: puerto en uso. Solución: usa netstat/ss para identificar el proceso y libera el puerto o cambia los puertos de RabbitMQ en rabbitmq.conf.
  • Error de permisos en /var/lib/rabbitmq. Solución: verifica propietarios y permisos (chown -R rabbitmq:rabbitmq /var/lib/rabbitmq).

Lista de verificación por roles

  • Administrador de sistemas:

    • Actualizar sistema y repositorios.
    • Instalar Erlang y dependencias.
    • Instalar RabbitMQ y habilitar servicio.
    • Configurar firewall/SELinux.
    • Configurar monitoreo y copias de seguridad.
  • DevOps/Desarrollador:

    • Crear vhosts y usuarios para aplicaciones.
    • Ajustar políticas de reintento y TTL si aplica.
    • Probar integración cliente con colas/exchanges.
  • Seguridad:

    • Eliminar Guest y revisar permisos de usuario.
    • Restringir acceso al puerto 15672 y demás puertos administrativos.

Mini metodología de despliegue (playbook rápido)

  1. Actualizar sistema.
  2. Instalar EPEL.
  3. Instalar Erlang y socat.
  4. Descargar e instalar RPM de RabbitMQ.
  5. Iniciar y habilitar servicio.
  6. Abrir puertos mínimos y habilitar plugin de gestión.
  7. Crear usuario admin y configurar permisos.
  8. Verificar con comandos de estado y panel web.

Criterios de aceptación

  • El servicio systemd rabbitmq-server está activo y en estado running.
  • rabbitmqctl status muestra nodos y procesos sin errores críticos.
  • El panel web responde en http://Your_Server_IP:15672/ y permite autenticación con el usuario admin creado.
  • Los puertos relevantes están abiertos solo según la política de red de tu organización.

Diagrama de decisión (flujo simplificado)

flowchart TD
  A[¿Servidor CentOS 7 disponible?] -->|Sí| B[Actualizar sistema]
  A -->|No| Z[Provisionar servidor CentOS 7]
  B --> C[Instalar EPEL y Erlang]
  C --> D[Descargar RabbitMQ RPM]
  D --> E[Instalar RPM]
  E --> F[Iniciar y habilitar servicio]
  F --> G[Configurar firewall y SELinux]
  G --> H[Habilitar plugin management y crear admin]
  H --> I[Verificar servicio y panel web]

Resumen y siguientes pasos

Has instalado RabbitMQ en CentOS 7, configurado acceso web y aplicado reglas básicas de seguridad. Como siguientes pasos recomienda:

  • Automatizar la instalación con Ansible o scripts de configuración.
  • Implementar copias de seguridad de definiciones y políticas (rabbitmqctl export_definitions).
  • Planificar actualizaciones controladas en entornos no productivos antes de aplicar en producción.

Recursos

Conclusión

Ahora tienes un broker RabbitMQ operativo en CentOS 7, con panel de administración habilitado y comprobaciones básicas realizadas. Adapta las configuraciones de firewall, SELinux y seguridad a la política de tu organización y prueba las integraciones con tus aplicaciones.

Autor
Edición

Materiales similares

Reducir animaciones en iOS 26 — Liquid Glass
iOS

Reducir animaciones en iOS 26 — Liquid Glass

Activar Emergency Bypass en iPhone iOS 17
iPhone

Activar Emergency Bypass en iPhone iOS 17

Corregir error WOTS deshabilitado en Windows
Soporte técnico

Corregir error WOTS deshabilitado en Windows

Cancelar Netflix: guía rápida paso a paso
Guía

Cancelar Netflix: guía rápida paso a paso

Error 'Algo salió mal' en Twitter (X) — Soluciones
Solución de problemas

Error 'Algo salió mal' en Twitter (X) — Soluciones

Mantener iconos de Windows al cambiar temas
Windows

Mantener iconos de Windows al cambiar temas