Solucionar el error 504 Gateway en Nginx.
En este tutorial vemos como solucionar el clásico «error 504 gateway time-out».
Este error se produce cuando una aplicación, un script, pagina web, etc…, tarda demasiado tiempo en responder. La solución es sencilla.
Vemos dos ejemplos:
- Nginx como servidor web.
- Nginx como servidor proxy (cache).
504 Gateway Time-out
Solucionar el error 504
Nginx como servidor web
Si usas nginx como servidor web, casi seguro que un script php esta tardando demasiado tiempo en ejecutarse, y el servidor web simplemente lo detuvo.
Para solucionar esto, debes hacer lo siguiente:
Abre el archivo de configuración del servidor nginx, donde están los parámetros del host, y agrega la siguiente línea:
fastcgi_read_timeout 300;
Un ejemplo real sería…
location ~ \.php$ { try_files $uri = 404; include fastcgi_params; fastcgi_pass unix:/run/php71-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 300; }
Nginx como servidor proxy (cache)
Si usas nginx como un servidor proxy, abres el archivo de configuración del proxy cache y agregas o modificas los siguientes valores tal como te indico.
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
Después de cada edición recuerda que debes reiniciar Nginx.
systemctl reload nginx
o…
nginx -s reload