GNU/Linux >> Linux Esercitazione >  >> Linux

Timeout del gateway nginx 504

Si verifica un errore di timeout del gateway 504 quando Nginx non può ricevere una risposta dal servizio per un periodo sufficientemente lungo. Ad esempio da PHP-FPM.

Nginx e PHP-FPM

La causa più comune di questo errore è la collaborazione di Nginx e PHP-FPM. Nel caso in cui ci siano script PHP molto lenti, Nginx darà un timeout del gateway 504 quando non attende una risposta per 30 secondi (per impostazione predefinita).

Per eliminare questo errore, prova ad aumentare il timeout:

location ~ \.php$ {
  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 300;
}

Delega

Il timeout del gateway 504 può verificarsi anche quando Nginx viene utilizzato come server proxy. Ad esempio, quando si lavora con Apache. Per evitare problemi, è necessario configurare le impostazioni di timeout per il proxy:

server {
...
    proxy_connect_timeout       600;
    proxy_send_timeout          600;
    proxy_read_timeout          600;
    send_timeout                600;
...
}

Non dimenticare di riavviare Nginx dopo aver modificato le impostazioni:

# nginx -s reload

È importante capire che è altamente consigliabile eliminare gli script lenti. Una soluzione con impostazioni di timeout potrebbe smettere di funzionare quando il carico aumenta.


Linux
  1. Errore durante l'installazione di Nginx su Ubuntu 16.04?

  2. Risoluzione dei problemi di base di Nginx

  3. Timeout del gateway nginx 504

  4. Risoluzione dei problemi relativi a errori e timeout del gateway:502, 504

  5. mostra l'indirizzo IP del gateway durante l'esecuzione del comando ifconfig

Integrazione del gateway SMS PlaySMS Kannel su NGINX+Debian

Come risolvere il timeout del gateway 504 su Nginx

Come correggere l'errore 502 Bad Gateway su Nginx

Perché il modello Awk non corrisponde agli argomenti di configurazione di Nginx -v?

Installa Nginx su Ubuntu 18.04

Come forzare nginx a risolvere il DNS (di un nome host dinamico) ogni volta che si esegue proxy_pass?