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/