スクリプトのタイムアウトにより、ApacheとFPMのリンクが失われました。

スクリプトのタイムアウトにより、ApacheとFPMのリンクが失われました。

Apache + PHP-FPMを設定しようとしていますが、実行されて最終的にタイムアウトする長期実行スクリプトがあるため、ApacheとFPMの間のリンクが切断され、最終的にサイト全体がダウンします。

--idle-timeoutに達したときにサイト全体がクラッシュするのを防ぐ方法はありますか?

FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -idle-timeout 18000 -pass-header Authorization

ベストアンサー1

Apacheはphp-fpmに要求します。タイムアウトに達すると中断されます。。ユーザーも同様です。最終顧客からの回答が必要な場合は、次の3つの可能性を考えてみることができます。

  1. タイムアウト値を増やします(PHPアプリケーションがこれより遅いため)。
  2. PHPアプリケーションがその要求をより迅速に処理できるようにします。
  3. PHPアプリケーションで所要時間を計算し、所要時間がタイムアウト値を超えた場合にエラーメッセージで応答するようにします。

IMHO、ソリューション#2は開発者にとって一般的な選択です。

おすすめ記事