#Fixed 9: Solucionado error con ‘supervisor’ caído

Manu Pijierro
2 min readJul 23, 2020

--

Como en otras ocasiones, utilizaré el blog a modo de cuaderno de bitácoras para recordar como solucionar algunos problemas recurrentes con los que me encuentro en mi día a día y que de alguna manera u otra, consigo solucionar.

En esta ocasión tiene que ver con el supervisor configurado en un servidor en el que está funcionado la aplicación de un cliente.

Problema

Todo viene porque el servidor Apache se ha caído dos o tres veces en una semana después de estar meses y meses sin caerse. Para estos casos, instalé un supervisor que levantara Apache en caso de caída…pero, supervisor tampoco funcionó.

Aunque entiendo que principalmente debería resolver que es lo que hizo que Apache cayera, en este caso, he investigado el motivo por el que supervisor no funcionó.

Primeramente, lo que intenté fue reiniciar el servicio de supervisor

root@********:/etc/supervisor/conf.d# /etc/init.d/supervisor restart
[….] Restarting supervisor (via systemctl): supervisor.serviceJob for supervisor.service failed. See ‘systemctl status supervisor.service’ and ‘journalctl -xn’ for details.
failed!

por algún oscuro no conseguía reiniciar, así que tiré de otro comando para comprobar el status:

root@*********:/etc/supervisor/conf.d# systemctl status supervisor.service
* supervisor.service — LSB: Start/stop supervisor
Loaded: loaded (/etc/init.d/supervisor)
Active: failed (Result: exit-code) since jue 2020–07–23 16:25:58 CEST; 2min 12s ago
Process: 14944 ExecStop=/etc/init.d/supervisor stop (code=exited, status=0/SUCCESS)
Process: 14949 ExecStart=/etc/init.d/supervisor start (code=exited, status=2)
jul 23 16:25:58 ********* systemd[1]: Starting LSB: Start/stop supervisor…
jul 23 16:25:58 ********* supervisor[14949]: Starting supervisor: Error: Another program is already listening on a port that one of our HTTP servers is configure…pervisord.
jul 23 16:25:58 ********* supervisor[14949]: For help, use /usr/bin/supervisord -h
jul 23 16:25:58 ********* systemd[1]: supervisor.service: control process exited, code=exited status=2
jul 23 16:25:58 ********* systemd[1]: Failed to start LSB: Start/stop supervisor.
jul 23 16:25:58 ********* systemd[1]: Unit supervisor.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.

Este mensaje ya decía algo más. ‘Another program’ se estaba ejecutando o estaba activo y hacía que supervisor estuviera bloqueado.

Solución

Como en estos temas de servidores no soy experto (bueno, y en casi nada realmente), me toca googlear y documentarme para buscar posibles soluciones a este problema. Tras varias lecturas y pruebas, di con este hilo en stackoverflow, en el que a un problema similar sugerían una posible solución eliminando el siguiente archivo :

sudo unlink /var/run/supervisor.sock

Puedes leer más sobre la configuración de supervisor y sobre este archivo de configuración a través de este enlace.

Posteriormente, solo quedó reiniciar supervisor.

#/etc/init.d/supervisor restart

Y volver a comprobar el estado del mismo para comprobar que supervisor quedaba activo:

#systemctl status supervisor.service
* supervisor.service - LSB: Start/stop supervisor
Loaded: loaded (/etc/init.d/supervisor)
Active: active (running) since jue 2020-07-23 16:34:11 CEST; 47s ago
Process: 14944 ExecStop=/etc/init.d/supervisor stop (code=exited, status=0/SUCCESS)
Process: 15097 ExecStart=/etc/init.d/supervisor start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/supervisor.service
|- 507 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
`-15102 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf

Eso si, queda pendiente de ver porque Apache se cae…pero esto será para otro artículo.

Cualquier sugerencia, corrección o comentario será bienvenido.

¡Chimpún!

--

--