先日、nginx Web サーバーが php スクリプトの処理を停止し、504 ゲートウェイ タイムアウトが発生するという問題に遭遇しました。ポート9000でphp5-fpmをセットアップしました。
実行するとnetstat | grep 9000
、次の結果が得られました。異なるポート番号で何百回も
tcp 0 0 localhost.localdom:9000 localhost.localdo:37XXX TIME_WAIT
そして、彼らはまったく片付けられていないようでした。サーバーに大量のトラフィックがヒットしたか、どこかでスクリプトが間違っていた可能性があります。サーバーから優先度の低いサイトの束をシャットダウンし(約10個の異なるnginxサイト構成ファイルを実行しています)、物事は再び動作していますが、phpページへのリクエストごとにnetstatがそれらの9000-> 37XXXポートの1つを報告し、ページはほぼ瞬時にクライアントに返されますが、60 秒間開いたままになります。
60秒間開いたままにする理由はありますか? または、接続が再利用されないのはなぜですか? 何かが正しく構成されていませんか?
サイトの 1 つに再び大量のトラフィックが発生すると、すべての接続が再び拘束され、504 ゲートウェイ タイムアウトが再び表示されるのではないかと心配しています。悪いphpスクリプトではありません。