3

私は提案を試しました:

Nginx で FastCGI を使用してゲートウェイ タイムアウトを回避するにはどうすればよいですか

nginx.conf (http セクション {} 内)

#prevent gateway timeout
client_header_timeout 1000000;
client_body_timeout 1000000;
send_timeout 1000000;
fastcgi_read_timeout 1000000;

しかし、約 60 秒後にエラー 504 ゲートウェイ タイムアウトが発生します。Apache の前に nginxx があるため、Apache がエラーの原因かどうかはわかりませんが、明らかに nginx からの 504 ゲートウェイ タイムアウトが発生します。

4

1 に答える 1

9

504 HTTP 応答コードの定義は次のとおりです。そのため、これをバックエンド サーバーの問題として扱うことから始めるのが理にかなっています。

バックエンド サーバーに直接リクエストを送信するとどうなるかを確認する必要があります。応答にはどのくらい時間がかかりますか?

Apache を使用すると、リクエストの処理にかかった時間を含めるようにログを構成できることに注意してください。mod_log_config%tのおよび%Tオプションを参照してください。

Nginx がバックエンド サーバーにアクセスできる場合は、コマンド ラインからもアクセスできます。リクエストを実行して時間を計測する構文の例を次に示します。

time -p GET -H 'Host: publicname.com'  http://127.0.0.1:8080/path/to/request

「GET」ツールはlibwww-perl、Ubuntu のような Linux ディストリビューションで利用できるパッケージの一部です。「Host:」ヘッダーを送信することで、Nginx と同じようにリクエストを生成します。

于 2013-02-27T13:28:01.743 に答える