Cómo Solucionar el Error Nginx 502 Bad Gateway en Linux de Forma Definitiva

Cómo Solucionar el Error Nginx 502 Bad Gateway en Linux de Forma Definitiva
Anuncio relacionado

Introducción al Error Nginx 502 Bad Gateway en Linux

El error 502 Bad Gateway es uno de los problemas más comunes a los que se enfrentan los administradores de sistemas al gestionar servidores web basados en Linux. Este código de estado HTTP indica que el servidor web, actuando como un proxy inverso (como Nginx), recibió una respuesta inválida del servidor de backend (como PHP-FPM o uWSGI).

Causas Principales del Error 502 Bad Gateway

Antes de aplicar cualquier solución, es importante entender por qué ocurre este fallo en distribuciones como Ubuntu o Debian:

  • El servicio de backend (PHP-FPM) se ha detenido o ha caído debido a un consumo excesivo de memoria.
  • Configuración incorrecta en el archivo de bloques de servidor de Nginx (puertos o sockets mal direccionados).
  • Tiempo de espera agotado (Timeout) en las conexiones entre Nginx y el procesador de scripts.
  • Falta de recursos en el servidor Linux (RAM o CPU al 100%).

Método 1: Verificar y reiniciar el servicio PHP-FPM

La causa más frecuente en entornos LEMP (Linux, Nginx, MySQL, PHP) es que el servicio PHP-FPM no esté ejecutándose correctamente. Para comprobar su estado y reiniciarlo, ejecuta los siguientes comandos en tu terminal:

  1. Comprueba el estado actual del servicio con: sudo systemctl status php8.1-fpm (reemplaza 8.1 por tu versión de PHP).
  2. Si está detenido o muestra errores, reinícalo con: sudo systemctl restart php8.1-fpm.
  3. Habilita el inicio automático al arrancar el sistema: sudo systemctl enable php8.1-fpm.

Método 2: Corregir la ruta del socket de PHP-FPM en Nginx

A menudo, tras actualizar PHP, la ruta del archivo socket cambia y Nginx sigue buscando en la dirección anterior. Sigue estos pasos para solucionarlo:

  1. Edita la configuración de tu sitio en Nginx: sudo nano /etc/nginx/sites-available/tusitio.com
  2. Busca la línea que define fastcgi_pass y asegúrate de que coincida con el socket real, por ejemplo: fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
  3. Verifica que la sintaxis de Nginx sea correcta: sudo nginx -t
  4. Recarga Nginx para aplicar los cambios: sudo systemctl reload nginx

Método 3: Ajustar los límites de Timeout en Nginx

Si tus scripts tardan demasiado en ejecutarse, Nginx puede cerrar la conexión prematuramente generando el error 502. Puedes aumentar el tiempo de espera añadiendo las siguientes directivas dentro del bloque http o server en /etc/nginx/nginx.conf:

  • fastcgi_read_timeout 300;
  • proxy_read_timeout 300;

Guarda el archivo y reinicia Nginx ejecutando: sudo systemctl restart nginx. Con estos pasos, tu servidor Linux debería volver a funcionar con normalidad.

Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Juegos

Cómo Solucionar el Error DXGI Error Device Hung en Juegos de Forma Definitiva

¿Tus juegos se cierran inesperadamente con el mensaje DXGI Error Device Hung? Descubre las causas exactas y cómo solucionarlo definitivamente.

Leer guía completa →
Juegos

Cómo Solucionar el Error DXGI_ERROR_DEVICE_HUNG en Juegos de Forma Definitiva

¿Tus juegos se congelan y aparece el error DXGI_ERROR_DEVICE_HUNG? Descubre por qué ocurre y cómo solucionarlo definitivamente.

Leer guía completa →
Magento

Cómo Solucionar el Error de GraphQL en Magento 2 de Forma Definitiva

Aprende a diagnosticar y resolver los errores más comunes en el esquema y las consultas GraphQL de Magento 2 de forma rápida y definitiva.

Leer guía completa →