この記事では、PHP 環境での php-fpm の設定方法を紹介し、php-fpm の設定オプションと方法について詳しく説明します。必要な方は参考にしてください。
このセクションの内容: php-fpm設定 php-fpmを設定します: pid = run/php-fpm.pid pid 設定、デフォルトはインストールディレクトリの var/run/php-fpm.pid です。これをオンにすることをお勧めします error_log = log/php-fpm.log エラーログ、デフォルトではインストールディレクトリの var/log/php-fpm.log log_level = 通知 エラーレベル。利用可能なレベルは、alert (直ちに処理する必要がある)、error (エラー状況)、warning (警告状況)、notice (一般的な重要な情報)、debug (デバッグ情報) です。デフォルト: 注意。 緊急再起動閾値 = 60 緊急再起動間隔 = 60秒 Emergency_restart_interval で設定された値内で SIGSEGV または SIGBUS エラーのある php-cgi プロセスの数が、Emergency_restart_threshold を超えた場合、php-fpm が正常に再起動されることを示します。これら 2 つのオプション 通常はデフォルト値をそのままにしておきます。 プロセス制御タイムアウト = 0 子プロセスがメインプロセスから多重化されたシグナルを受け入れるためのタイムアウトを設定します。使用可能な単位: s (秒)、m (分)、h (時間)、または d (日) デフォルトの単位: s (秒)。デフォルト値: 0. デーモン化 = はい fpm をバックグラウンドで実行します。デフォルト値は [yes] ですが、デバッグのために [no] に変更できます。 FPM では、複数のプロセス プールを異なる設定で実行できます。 これらの設定は、プロセス プールごとに個別に設定できます。 聞く = 127.0.0.1:9000 fpm リスニング ポートは、nginx の PHP によって処理されるアドレスです。通常、デフォルト値で十分です。 使用可能な形式は、「ip:port」、「port」、「/path/to/unix/socket」です。各プロセス プールを設定する必要があります。 listen.バックログ = -1 バックログの数 (-1 は無制限を意味します) はオペレーティング システムによって決定されます。この行をコメントアウトするだけです。 listen.allowed_clients = 127.0.0.1 FastCGI プロセスの IP へのアクセスを許可します。any を無制限の IP に設定します。他のホスト上の nginx もこの FPM プロセスにアクセスできるように設定する場合は、アクセス可能なローカル IP をリッスン アドレスに設定します。デフォルト値は任意です。 各アドレスはカンマで区切られます。設定されていないか空の場合、接続を要求するサーバーはすべて許可されます。 listen.owner = www listen.group = www リッスン.モード = 0666Unix ソケット設定オプション、TCP を使用してアクセスする場合は、ここにコメントしてください。 ユーザー = www グループ=www プロセスを開始するアカウントとグループ 午後 = 動的 子プロセスを制御する方法には、静的オプションと動的オプションがあります。 static を選択した場合、固定数の子プロセスが pm.max_children によって指定されます。 動的が選択されている場合は、開始パラメータによって決定されます。 pm.max_children、子プロセスの最大数 pm.start_servers、起動時のプロセスの数 pm.min_spare_servers は、アイドル状態のプロセスの最小数を保証します。アイドル状態のプロセスがこの値より少ない場合、新しい子プロセスが作成されます。 pm.max_spare_servers は、アイドル状態のプロセスの最大数を保証します。アイドル状態のプロセスがこの値より大きい場合、それらはクリーンアップされます。専用サーバーの場合、pm を静的に設定できます。 pm.max_requests = 1000 各子プロセスが再生成されるまでに処理するリクエストの数を設定します。メモリ リークが発生する可能性のあるサードパーティ モジュールに非常に役立ちます。 「0」に設定すると、常にリクエストを受け入れます。 PHP_FCGI_MAX_REQUESTS 環境変数と同等 量。デフォルト値: 0. pm.status_path = /ステータス FPM ステータス ページの URL。設定されていない場合、ステータス ページにアクセスできません。デフォルト値: なし。 ping.path = /ping FPM 監視ページの ping URL。設定されていない場合、ping ページにアクセスできません。このページは、FPM が稼働中であり、要求に応答できるかどうかを外部から検出するために使用されます。スラッシュ (/) で始める必要があることに注意してください。 ping.response = ポン ping リクエストの返信応答を定義するために使用されます。テキスト/プレーン形式のテキストを HTTP 200 として返します。デフォルト値: ポン。 request_terminate_timeout = 0 単一リクエストのタイムアウトを設定します。このオプションは、php.ini の「max_execution_time」設定により、何らかの特別な理由で実行中のスクリプトが中止されない場合に便利です。 「オフ」の場合は「0」に設定します。 502 エラーが頻繁に発生する場合は、このオプションを変更してみてください。 request_slowlog_timeout = 10秒 設定されたタイムアウト後にリクエストの有効期限が切れると、対応する PHP コール スタック情報がスロー ログに完全に書き込まれます。 「0」に設定すると「オフ」になります slowlog = ログ/$pool.log.slow 遅いリクエストのロギング、request_slowlog_timeout と一緒に使用します rlimit_files = 1024 ファイルオープン記述子の rlimit 制限を設定します。デフォルト値: システム定義値 システムのデフォルトの開閉可能なハンドルは 1024 で、ulimit -n を使用して表示し、ulimit -n 2048 で変更できます。 rlimit_core = 0 core rlimit の最大制限値を設定します。使用可能な値: 「無制限」、0 または正の整数。デフォルト値: システム定義値。 chroot = 起動時のchrootディレクトリ。定義されたディレクトリは絶対パスである必要があります。設定されていない場合、chroot は使用されません。 chdir = 起動ディレクトリを設定すると、起動中に自動的にこのディレクトリに Chdir が実行されます。定義されたディレクトリは絶対パスである必要があります。デフォルト値: 現在のディレクトリ、または /directory (chroot 時) catch_workers_output = はい 実行中の stdout と stderr をメイン エラー ログ ファイルにリダイレクトします。設定されていない場合、stdout と stderr は FastCGI のルールに従って /dev/null にリダイレクトされます。 デフォルト値: 空。 |