#Fixed 9: Solucionado error con ‘supervisor’ caído
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!