GNU/Linux >> Znalost Linux >  >> Linux

Časový limit brány nginx 504

Chyba časového limitu brány 504 nastane, když Nginx nemůže dostat odpověď od služby dostatečně dlouho. Například z PHP-FPM.

Nginx a PHP-FPM

Nejčastější příčinou této chyby je spolupráce Nginx a PHP-FPM. V případě, že existují velmi pomalé PHP skripty, Nginx poskytne bráně 504 časový limit, když nečeká na odpověď po dobu 30 sekund (ve výchozím nastavení).

Chcete-li se této chyby zbavit, zkuste zvýšit časový limit:

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

Proxy

Časový limit brány 504 může také nastat, když je Nginx používán jako proxy server. Například při práci s Apache. Abyste předešli problémům, musíte nakonfigurovat nastavení časového limitu pro proxy:

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

Po změně nastavení nezapomeňte restartovat Nginx:

# nginx -s reload

Je důležité pochopit, že je velmi vhodné zbavit se pomalých skriptů. Řešení s nastavením časového limitu může přestat fungovat, když se zatížení zvýší.


Linux
  1. Proč se vzor Awk neshoduje s argumenty konfigurace Nginx -v?

  2. Základní řešení problémů s Nginx

  3. Časový limit brány nginx 504

  1. Odstraňování problémů s chybami brány a časovými limity:502, 504

  2. zobrazit IP adresu brány při provádění příkazu ifconfig

  3. Jak přinutit nginx, aby přeložil DNS (dynamického názvu hostitele) pokaždé, když děláte proxy_pass?

  1. nginx - 413 entita požadavku je příliš velká

  2. Jak opravit časový limit brány 504 na serveru Nginx

  3. 502 Chyba špatné brány NGINX [Řešení]