Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ad-inserter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/blog.webeats.it/httpdocs/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the cookie-law-info domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/blog.webeats.it/httpdocs/wp-includes/functions.php on line 6114
Come fixare l'errore 504 Gateway Timeout con Nginx - Blog WebEats

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;
                fastcgi_read_timeout 900;
}

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;
                fastcgi_read_timeout 900;
}

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