Procedimiento de Corrección – Reinicio de Servicios de Aplicación
Objetivo
Restablecer la operación de la aplicación ante bloqueos, errores o degradación de performance, mediante el reinicio controlado de servicios estándar.
Requisitos Obligatorios de Acceso
Antes de ejecutar cualquier acción ES OBLIGATORIO:
- Conectarse a la VPN corporativa
- Verificar acceso a la red privada
- Acceder al servidor vía SSH
Estándar de acceso
- Usuario del sistema:
azure - Acceso: SSH
- Autenticación: claves públicas
- Claves autorizadas almacenadas en:
github/idbi/public/authorized_keys
⚠️ No crear usuarios nuevos ni modificar claves durante este procedimiento.
Servicios Estándar en Servidores
Dependiendo del tipo de servidor, pueden existir los siguientes servicios:
- Web server:
nginx - PHP-FPM:
php8.3-fpm - Workers de colas (Laravel):
horizon(solo en servidores que lo tengan)
Cuándo aplicar este procedimiento
Ejecutar este procedimiento cuando ocurra alguno de los siguientes casos:
- Errores 502 / 504
- Procesos PHP bloqueados o colgados
- Alto consumo de CPU o memoria asociado a PHP
- Jobs de cola detenidos o atrasados
- La aplicación responde de forma intermitente
Validaciones Previas (OBLIGATORIAS)
Antes de reiniciar cualquier servicio:
- Confirmar que no hay deploy activo
- Confirmar que el servidor tiene redundancia
- Identificar qué servicio está afectado
- Notificar la acción en el canal operativo
Procedimiento Paso a Paso
1. Acceso al servidor
ssh azure@<hostname_privado>
Confirmar acceso exitoso antes de continuar.
2. Verificar estado de los servicios
Ejecutar solo los comandos necesarios según el servidor:
sudo systemctl status nginx
sudo systemctl status php8.3-fpm
sudo systemctl status horizon
Revisar logs recientes si es necesario:
sudo journalctl -u nginx --since "10 minutes ago"
sudo journalctl -u php8.3-fpm --since "10 minutes ago"
sudo journalctl -u horizon --since "10 minutes ago"
3. Reinicio controlado de servicios
⚠️ Reiniciar UN (1) servicio a la vez, en el siguiente orden recomendado:
3.1 Reinicio de PHP-FPM
sudo systemctl restart php8.3-fpm
Esperar confirmación de estado activo:
sudo systemctl status php8.3-fpm
3.2 Reinicio de Nginx
sudo systemctl restart nginx
Verificar estado:
sudo systemctl status nginx
3.3 Reinicio de Horizon (si aplica)
⚠️ Ejecutar solo en servidores con Horizon habilitado.
sudo systemctl restart horizon
Verificar:
sudo systemctl status horizon
Verificación Post-Reinicio
- Confirmar que todos los servicios están en estado
active (running) - Verificar:
- Respuesta de la aplicación
- Disminución de errores 5xx
- Normalización de CPU y memoria
- Monitorear métricas durante al menos 5 minutos
Reinicio Completo del Servidor (EXCEPCIONAL)
⚠️ Solo ejecutar si:
- Los servicios no se recuperan
- Existe redundancia confirmada
- La acción fue comunicada previamente
sudo reboot
Luego del reinicio, verificar:
sudo systemctl status nginx
sudo systemctl status php8.3-fpm
sudo systemctl status horizon
Acciones Prohibidas
- Reiniciar todos los nodos simultáneamente
- Modificar configuraciones persistentes
- Ejecutar comandos destructivos
- Cambios de arquitectura o infraestructura
Escalamiento
Escalar inmediatamente si:
- El reinicio no resuelve el problema
- Aparecen errores nuevos
- Se pierde conectividad con la base de datos u otros servicios
- El impacto supera los 5 minutos
Registro Posterior
Registrar en el canal correspondiente:
- Servidor afectado
- Servicio reiniciado
- Hora de inicio y fin
- Resultado