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
Desarrollo

Cómo Solucionar el Error Cannot Read Properties of Undefined en JavaScript Definitivamente

Descubre por qué ocurre el molesto error de propiedades indefinidas en JavaScript y cómo solucionarlo eficazmente en tus proyectos web con ejemplos prácticos.

Leer guía completa →
Juegos

Cómo Solucionar el Error de Pantalla Negra en Valorant de Forma Definitiva

La pantalla negra al iniciar Valorant es un problema frustrante pero solucionable. Aprende a corregirlo con nuestra guía técnica definitiva.

Leer guía completa →
Juegos

Cómo Solucionar el Error 'Faltan Privilegios de Contenido' en Steam de Forma Definitiva

Aprende a corregir el error de privilegios de contenido en Steam de manera rápida y definitiva. Sigue nuestros sencillos métodos paso a paso.

Leer guía completa →