Ecco come risolvere l’errore 504 Gateway Timeout con nginx in modalità standalone o proxy
Una configurazione superficiale di nginx e PHP possono portare problemi su operazioni più complesse e lunghe, in particolare quando uno script impiega più di un certo numero di secondi per eseguire le operazioni, facendo restituire un messaggio d’errore alla pagina identificato con errore 504. I messaggi in base alla configurazione che potremo trovare sono i seguenti:
- “504 Gateway Timeout”
- “504 Gateway Time-Out”
- “504 Gateway Timeout NGINX”
- “Nginx 504 Gateway Timeout”
- “HTTP 504 Gateway Timeout”
- “HTTP 504 Error”
- “HTTP 504”
- “Gateway Timeout (504)”
Vediamo come procedere per correggere l’errore 504 Gateway Timeout con Nginx.
In questa guida interverremo su un sistema ubuntu/debian con nginx+PHP-FPM (PHP 5.x). Prima di tutto dobbiamo modificare max_execution_time nel file /etc/php5/fpm/php.ini di PHP-FPM portandolo a 600 o 900.
max_execution_time = 900
Ora cerchiamo la stringa request_terminate_timeout nel file /etc/php5/fpm/pool.d/www.conf e impostiamo 900
request_terminate_timeout = 900
ora nel blocco del vhost di nginx dobbiamo aggiungere
questa può cambiare. Ad esempio potrestre trovare qualcosa come questo
location @php { try_files $uri =404; fastcgi_pass unix:/var/lib/php5-fpm/web10.sock; fastcgi_index index.php; include fastcgi_params; <strong>fastcgi_read_timeout 900;</strong> }
o questo
location ~ .php$ { root /var/www/sites/nginxtips.com; try_files $uri =404; fastcgi_pass unix:/tmp/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; <strong>fastcgi_read_timeout 900;</strong> }
ovviaemente questi sono puramente esempi, dovrete inserire fastcgi_read_timeout 900; al posto giusto. Infine riavviamo i servizi
service php-fpm restart service nginx restart
Se usiamo invece nginx come reverse proxy, nel file nginx.conf aggiungiamo queste stringhe
proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; send_timeout 900;
anche in questo caso diamo un
service php-fpm restart service nginx restart
L'articolo Come fixare l’errore 504 Gateway Timeout con Nginx sembra essere il primo su Blog WebEats.
Leggi il contenuto originale su How-To – Blog WebEats