GNU/Linux >> Linux の 問題 >  >> Linux

nginx 504 ゲートウェイのタイムアウト

504 ゲートウェイ タイムアウト エラーは、Nginx がサービスから十分な時間応答を受信できない場合に発生します。たとえば、PHP-FPM から。

Nginx と PHP-FPM

このエラーの最も一般的な原因は、Nginx と PHP-FPM の連携です。非常に遅い PHP スクリプトがある場合、Nginx は応答を 30 秒間待機しないと (デフォルトで) 504 ゲートウェイ タイムアウトを発生させます。

このエラーを解消するには、タイムアウトを増やしてみてください:

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

プロキシ

Nginx をプロキシ サーバーとして使用すると、504 ゲートウェイのタイムアウトが発生する場合もあります。たとえば、Apache を使用する場合。問題を回避するには、プロキシのタイムアウト設定を構成する必要があります:

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

設定を変更した後は、忘れずに Nginx を再起動してください:

# nginx -s reload

遅いスクリプトを取り除くことが強く推奨されることを理解することが重要です。負荷が増加すると、タイムアウト設定のあるソリューションが機能しなくなる可能性があります。


Linux
  1. AwkパターンがNginx-vのConfigure引数と一致しないのはなぜですか?

  2. NginxをFedoraにインストールする

  3. UbuntuにNginxをインストールする

  1. Nginx が既にインストールされている場合に Passenger をインストールします。可能?

  2. ifconfig コマンドの実行時にゲートウェイ IP アドレスを表示

  3. proxy_pass を実行するたびに、nginx に (動的ホスト名の) DNS を強制的に解決させる方法は?

  1. nginx-413リクエストエンティティが大きすぎます

  2. Nginxサーバーで504ゲートウェイのタイムアウトを修正する方法

  3. 502 Bad Gateway ErrorNGINX[解決策]