Interadictos Blog Programación y sistemas Guía completa: Cómo instalar y configurar SupervisorD en tu servidor
Programación y sistemas

Guía completa: Cómo instalar y configurar SupervisorD en tu servidor

SupervisorD

En el mundo del desarrollo web y la administración de servidores, es común encontrarse con la necesidad de gestionar múltiples procesos que deben mantenerse activos. SupervisorD, o simplemente Supervisor, es una herramienta poderosa que te permite controlar, supervisar y gestionar procesos en segundo plano de forma sencilla.

En este artículo, te mostraré cómo instalar y configurar SupervisorD en un servidor Linux, para que puedas gestionar tus procesos de manera eficiente.

¿Qué es SupervisorD?

SupervisorD es un sistema de gestión y monitorización que permite a los administradores controlar múltiples procesos en un sistema operativo basado en GNU/Linux. La herramienta se encarga de iniciar los procesos como si fueran servicios y reiniciarlos en caso de fallo. Además dispone de paneles de control basados en web que ofrecen un control sencillo para ver el estado de cada uno.

Requisitos previos

Antes de comenzar con la instalación de SupervisorD, asegúrate de cumplir con los siguientes requisitos:

  1. Un servidor con un sistema operativo basado en Linux (Ubuntu, CentOS, Debian, etc.).
  2. Acceso de usuario con privilegios sudo.
  3. Python instalado (SupervisorD está basado en Python).

Paso 1: Instalación de SupervisorD

En la mayoría de las distribuciones de Linux, SupervisorD está disponible en los repositorios oficiales. A continuación, te muestro cómo instalarlo en algunas de las distribuciones más comunes.

En Ubuntu/Debian

sudo apt update
sudo apt install supervisor

En CentOS/RHEL

En sistemas basados en CentOS o Red Hat, puedes instalarlo utilizando el gestor de paquetes yum o dnf.

sudo yum install epel-release
sudo yum install supervisor

Una vez que se ha instalado, puedes verificar que Supervisor está correctamente instalado ejecutando:

supervisord -v

Este comando debería devolver la versión instalada de Supervisor.

Paso 2: Configuración básica de Supervisor

Una vez instalado, SupervisorD utiliza un archivo de configuración principal que, por lo general, se encuentra en /etc/supervisor/supervisord.conf. Si este archivo no existe, puedes generarlo ejecutando:

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Este archivo contiene la configuración global de Supervisor y se puede modificar para adaptarse a tus necesidades. Para comenzar a utilizar SupervisorD, es importante añadir las configuraciones de los programas o procesos que deseas gestionar.

Paso 3: Configuración de programas supervisados

Para supervisar un proceso, debes crear un archivo de configuración específico. Estos archivos de configuración suelen guardarse en el directorio /etc/supervisor/conf.d/ y tienen la extensión .conf.

Vamos a crear un archivo de ejemplo para supervisar un proceso simple, como un servidor web con gunicorn. Crea un archivo en /etc/supervisor/conf.d/gunicorn.conf con el siguiente contenido:

[program:gunicorn]
command=/usr/bin/gunicorn --workers 3 myapp:app
directory=/var/www/myapp
autostart=true
autorestart=true
stderr_logfile=/var/log/gunicorn.err.log
stdout_logfile=/var/log/gunicorn.out.log
user=www-data
  • command: Comando para iniciar el proceso.
  • directory: Directorio desde donde se ejecutará el proceso.
  • autostart: Hace que el proceso se inicie automáticamente cuando se arranca Supervisor.
  • autorestart: Reinicia el proceso si se detiene.
  • stderr_logfile y stdout_logfile: Archivos donde se guardarán los logs del proceso.

Paso 4: Recargar la configuración de Supervisor

Después de añadir la configuración del programa, recarga Supervisor para que detecte los nuevos procesos:

sudo supervisorctl reread
sudo supervisorctl update

Paso 5: Gestionar procesos con SupervisorD

Una vez que los programas estén configurados, puedes gestionar los procesos utilizando el comando supervisorctl. Aquí te dejo algunos comandos útiles:

  • Iniciar un proceso específico: sudo supervisorctl start gunicorn
  • Detener un proceso específico: sudo supervisorctl stop gunicorn
  • Reiniciar un proceso: sudo supervisorctl restart gunicorn
  • Ver el estado de todos los procesos supervisados: sudo supervisorctl status

Paso 6: Configuración del arranque automático

Supervisor está configurado para iniciarse automáticamente con el sistema en la mayoría de las distribuciones. Puedes asegurarte de que Supervisor arranque correctamente al inicio ejecutando:

En Ubuntu/Debian:

sudo systemctl enable supervisor
sudo systemctl start supervisor

En CentOS/RHEL:

sudo systemctl enable supervisord
sudo systemctl start supervisord

Paso 7: Supervisión y logs

SupervisorD ofrece un registro detallado de la actividad de los procesos que gestiona. Los logs de Supervisor se pueden encontrar en la ubicación especificada en el archivo supervisord.conf. Para revisar estos logs, simplemente utiliza:

sudo tail -f /var/log/supervisor/supervisord.log

Conclusión

SupervisorD es una herramienta muy útil para gestionar procesos en segundo plano en servidores Linux. Con esta guía, has aprendido cómo instalar y configurar SupervisorD, además de cómo agregar programas para que sean supervisados de manera eficiente. Ahora tienes una forma sencilla de gestionar tus procesos y asegurarte de que estén siempre en ejecución.

¡Empieza a supervisar tus procesos como un profesional!

Salir de la versión móvil