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:
1 |
fastcgi_read_timeout 300; |
Un ejemplo real sería…
1 2 3 4 5 6 7 8 9 |
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.
1 2 3 4 |
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.
1 |
systemctl reload nginx |
o…
1 |
nginx -s reload |