Cómo Solucionar el Error 503 Backend Maximum Execution Time en Magento 2 Paso a Paso

Cómo Solucionar el Error 503 Backend Maximum Execution Time en Magento 2 Paso a Paso
Anuncio relacionado

Introducción al Error 503 por Tiempo de Ejecución en Magento 2

El error 503 (Service Unavailable) combinado con problemas de tiempo de ejecución es uno de los inconvenientes más frustrantes para los administradores de tiendas e-commerce en Magento 2. Este fallo suele ocurrir cuando un script PHP, como una tarea de indexación masiva, la compilación o la actualización de módulos, supera el límite de tiempo configurado en el servidor, provocando que el backend o el frontend dejen de responder temporalmente.

Causas Principales del Problema

Existen diversos factores que desencadenan este error de tiempo de espera en Magento 2:

  • El parámetro max_execution_time en el archivo php.ini tiene un valor demasiado bajo.
  • El límite de tiempo en el servidor web (como Nginx con fastcgi_read_timeout o Apache con TimeOut) está configurado de forma estricta.
  • Procesos pesados ejecutándose simultáneamente durante las horas de mayor tráfico.
  • Falta de optimización en la base de datos o consultas excesivamente lentas.

Método 1: Aumentar el Tiempo de Ejecución en php.ini

El primer paso y el más directo es incrementar el límite de tiempo que PHP permite para la ejecución de scripts. Sigue estos pasos:

  1. Accede a tu servidor mediante SSH utilizando tus credenciales de acceso.
  2. Localiza tu archivo php.ini activo (asegúrate de modificar el correspondiente a la versión CLI y al servidor web, como FPM).
  3. Busca la directiva max_execution_time y modifica su valor actual por un número mayor, por ejemplo, 600 segundos: max_execution_time = 600.
  4. Guarda los cambios y reinicia tu servicio PHP-FPM o Apache ejecutando el comando correspondiente, por ejemplo: sudo systemctl restart php8.1-fpm.

Método 2: Configurar los Timeouts en Nginx o Apache

Si utilizas Nginx como servidor proxy inverso junto a PHP-FPM, es muy probable que Nginx interrumpa la conexión antes de que PHP termine de procesar la solicitud. Para solucionarlo:

  1. Abre el archivo de configuración de tu sitio en Nginx (ubicado habitualmente en /etc/nginx/sites-available/).
  2. Dentro del bloque location ~ \.php$, añade o incrementa los valores de timeout de la siguiente manera:
  3. fastcgi_read_timeout 600s;
  4. fastcgi_send_timeout 600s;
  5. Guarda el archivo y verifica la sintaxis con el comando: sudo nginx -t.
  6. Reinicia Nginx para aplicar los cambios: sudo systemctl restart nginx.

Método 3: Ejecutar Tareas Pesadas vía CLI

Para evitar que el navegador web arroje un error 503 debido al tiempo de espera al realizar operaciones pesadas, es altamente recomendable realizarlas directamente desde la línea de comandos:

  1. Accede a la raíz de tu instalación de Magento 2 mediante la terminal SSH.
  2. Utiliza el binario de Magento para realizar reindexaciones o limpiezas de caché de forma segura:
  3. php bin/magento indexer:reindex
  4. php bin/magento cache:flush
  5. De esta forma, el comando no estará sujeto a las restricciones de tiempo de los navegadores web ni a las configuraciones restrictivas de los proxies HTTP.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Apps

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

Aprende a resolver el frustrante problema de la pantalla negra en Discord con métodos efectivos. Guía paso a paso para usuarios de escritorio.

Leer guía completa →
Mac

Cómo Solucionar el Error de 'Disco de Arranque Lleno' en Mac de Forma Definitiva

Tu Mac va lento y aparece constantemente el molesto aviso de almacenamiento agotado. Aprende a limpiar tu disco de forma definitiva y recuperar espacio valioso.

Leer guía completa →
Juegos

Cómo Solucionar el Error de Bucle de Carga en Valorant Paso a Paso

El bucle infinito en la pantalla de carga de Valorant impide entrar a las partidas. Aprende a solucionarlo definitivamente con este tutorial.

Leer guía completa →