En este post se comento acerca del uso, instalación y configuración de Supervisor.
A continuación se mostrara la secuencia de comandos para iniciar automáticamente Supervisord, para el caso se uso un servidor Centos 7, pero es perfectamente aplicable en distribuciones como RedHat, Fedora, Ubuntu, Debian, etc.
1. Creamos el archivo supervisord dentro de /etc/init.d y agregamos lo siguiente
#!/bin/bash # crond Start/Stop the supervisord daemon. # chkconfig: 2345 90 60 # description: Supervisor is a client/server system that allows its users to # monitor and control a number of processes on UNIX-like operating systems. . /etc/init.d/functions DAEMON=/usr/bin/supervisord PIDFILE=/var/run/supervisord.pid [ -x "$DAEMON" ] || exit 0 start() { echo -n "Starting supervisord: " if [ -f $PIDFILE ]; then PID=`cat $PIDFILE` echo supervisord already running: $PID exit 2; else daemon $DAEMON --pidfile=$PIDFILE -c /etc/supervisord.conf RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord return $RETVAL fi } stop() { echo -n "Shutting down supervisord: " echo killproc -p $PIDFILE supervisord echo rm -f /var/lock/subsys/supervisord return 0 } case "$1" in start) start ;; stop) stop ;; status) status supervisord ;; restart) stop start ;; *) echo "Usage: {start|stop|status|restart}" exit 1 ;; esac exit $?
2. En el directorio /etc/init.d ejecutamos los siguientes comandos
Agregar el servicio “supervisord” a la lista de servicios que inician cuando el SO se inicia.
schkconfig --add supervisord
Agregar niveles de ejecución 2, 3, 4 y 5 al servicio
chkconfig --level 2345 supervisord on
Verificar permisos del servicio supervisord
chkconfig --list | grep supervisord
Para validar los cambios, reiniciamos el servidor y verificamos que el servicio de supervisord se inicio automaticamente.
Fuente: http://supervisord.org/