OpenLiteSpeed logo Open LiteSpeed Web Serverユーザーズマニュアル

Fast CGI アプリ

目次

名前

説明

この外部アプリケーションの一意の名前。 設定の他の部分でこの名前を使用するときは、この名前で参照します。

構文

テキスト

アドレス

説明

外部アプリケーションによって使用される一意のソケットアドレス。 IPv4/IPv6ソケットとUnixドメインソケット(UDS)がサポートされています。 IPv4/IPv6ソケットは、ネットワークを介した通信に使用できます。 UDSは、外部アプリケーションがサーバーと同じマシンにある場合にのみ使用できます。

構文

IPv4またはIPv6アドレス:ポート、またはUDS://path

127.0.0.1:5434
UDS://tmp/lshttpd/php.sock.

ヒント

[セキュリティ]外部アプリケーションが同じマシン上で実行される場合は、UDSが優先されます。 IPv4/IPv6ソケットを使用する必要がある場合は、IPアドレスをlocalhostまたは127.0.0.1に設定して、外部アプリケーションに他のマシンからアクセスできないようにします。
[パフォーマンス] Unixドメインソケットは、通常、IPv4ソケットよりも高いパフォーマンスを提供します。

最大接続数

説明

サーバーと外部アプリケーションの間で確立できる同時接続の最大数を指定します。 この設定は、外部アプリケーションによって同時に処理できる要求の数を制御しますが、実際の制限は外部アプリケーション自体によっても異なります。 この値を高く設定すると、外部アプリケーションの速度が不十分であるか、多数の同時要求に対応できない場合に役立ちません。

構文

整数

ヒント

[パフォーマンス]高い値を設定しても、高いパフォーマンスに直接変換されるわけではありません。 制限を外部アプリケーションに負荷をかけない値に設定すると、最高のパフォーマンス/スループットが得られます。

環境

説明

外部アプリケーション用の追加の環境変数を指定します。

構文

Key=value. 複数の変数は "ENTER"で区切ることができます。

初期リクエストタイムアウト(秒)

説明

新しく確立された接続で、外部アプリケーションが最初のリクエストに応答するまでサーバーが待機する最大秒数を指定します。 このタイムアウト内に外部アプリケーションからデータを受信しない場合、サーバーはこの接続を不良としてマークします。 これにより、外部アプリケーションとの通信問題をできるだけ早く特定できます。 処理に時間がかかるリクエストがある場合は、503エラーメッセージを避けるためにこの制限を増やしてください。

構文

整数

リトライタイムアウト(秒)

説明

以前に通信問題が発生した外部アプリケーションを再試行する前に、サーバーが待機する時間を指定します。

構文

整数

永続接続

説明

リクエスト処理後に接続を開いたままにするかどうかを指定します。 永続接続はパフォーマンスを向上させる可能性がありますが、一部のFastCGI外部アプリケーションは永続接続を完全にはサポートしません。 デフォルトは"On"です。

構文

ラジオボックスから選択

接続キープアライブタイムアウト

説明

アイドル状態の永続接続を開いたままにする最大秒数を指定します。

"-1"に設定すると、接続はタイムアウトしません。0以上に設定すると、この秒数が経過した後に接続が閉じられます。

構文

整数

レスポンスバッファリング

説明

外部アプリケーションから受信したレスポンスをバッファリングするかどうかを指定します。 "nph-"(Non-Parsed-Header)スクリプトが検出された場合、完全なHTTPヘッダーを持つレスポンスではバッファリングがオフになります。

構文

ドロップダウンリストから選択

自動スタート

説明

Webサーバーでアプリケーションを自動的に開始するかどうかを指定します。 同じマシン上で実行されているFastCGIおよびLSAPIアプリケーションのみを自動的に起動することができます。 アドレスのIPはローカルIPでなければなりません。 メインサーバプロセスではなくLiteSpeed CGIデーモンを起動すると、システムのオーバーヘッドを軽減できます。

構文

ドロップダウンリストから選択

コマンド

説明

外部アプリケーションを実行するためのパラメータを含む完全なコマンドラインを指定します。 自動スタートが有効な場合は必須値です。 パラメータにスペースまたはタブ文字が含まれている場合は、パラメータを二重引用符または一重引用符で囲む必要があります。

構文

オプションのパラメータを含む実行可能ファイルへのフルパス。

参照

自動スタート

バックログ

説明

リスニングソケットのバックログを指定します。 自動スタートが有効な場合は必須です。

構文

整数

インスタンス

説明

サーバーが作成する外部アプリケーションの最大インスタンスを指定します。 自動スタートが有効な場合は必須です。 ほとんどのFastCGI/LSAPIアプリケーションは、プロセスインスタンスごとに1つの要求しか処理できません。これらのタイプのアプリケーションの場合、インスタンスは最大接続数の値に一致するように設定する必要があります。 一部のFastCGI / LSAPIアプリケーションでは、複数の子プロセスを生成して複数の要求を同時に処理できます。 これらのタイプのアプリケーションでは、インスタンスを "1"に設定し、環境変数を使用してアプリケーションが生成できる子プロセスの数を制御する必要があります。

構文

整数

実行ユーザー

説明

外部アプリケーションを実行するユーザー名を指定します。 未設定の場合は、バーチャルホストレベルの設定を継承します。

デフォルト値:未設定

構文

有効なユーザー名。

参照

extGroup

実行グループ

説明

外部アプリケーションを実行するグループ名を指定します。 未設定の場合は、バーチャルホストレベルの設定を継承します。

デフォルト値:未設定

構文

有効なグループ名。

参照

extUser

umask

説明

この外部アプリケーションのプロセスのデフォルトumaskを設定します。 詳細は、man 2 umaskを参照してください。 デフォルト値はサーバーレベルのumask設定から取得されます。

構文

有効範囲[000]〜[777]の値。

参照

CGI umask

起動時に実行

説明

サーバー起動時に外部アプリケーションを起動するかどうかを指定します。 自身の子プロセスを管理でき、インスタンスの値が"1"に設定されている外部アプリケーションにのみ適用されます。

有効にすると、外部プロセスは実行時ではなくサーバー起動時に作成されます。

"Yes (Detached mode)"を選択した場合、デタッチされたすべてのプロセスは、サーバーレベルでは$SERVER_ROOT/admin/tmp/配下、 バーチャルホストレベルでは$VH_ROOT/配下の'.lsphp_restart.txt'ファイルにtouchすることで再起動できます。

デフォルト値:Yes (Detached mode)

構文

ラジオボックスから選択

ヒント

[パフォーマンス] Railsアプリのように、設定された外部プロセスの起動オーバーヘッドが大きい場合は、 このオプションを有効にすると最初のページ応答時間を短縮できます。

最大アイドル時間

説明

外部アプリケーションがサーバーによって停止され、アイドルリソースが解放されるまでの最大アイドル時間を指定します。 "-1"に設定すると、ProcessGroupモードで実行されている場合を除き、外部アプリケーションはサーバーによって停止されません。 ProcessGroupモードでは、アイドル状態の外部アプリケーションは30秒後に停止されます。

デフォルト値:-1

構文

整数

ヒント

[パフォーマンス] この機能は大量ホスティング環境で特に便利です。 あるバーチャルホストが所有するファイルに、別のバーチャルホストの外部アプリケーションスクリプトからアクセスされるのを防ぐため、 SetUIDモードで多数の異なるアプリケーションを同時に実行する必要があります。 これらの外部アプリケーションが不要にアイドル状態のままにならないよう、この値を低く設定してください。

優先度

説明

外部アプリケーションプロセスの優先度を指定します。値の範囲は-20から20です。 数字が小さいほど優先度は高くなります。外部アプリケーションプロセスはWebサーバーより高い優先度を持つことはできません。 この優先度がサーバーより小さい数値に設定されている場合、この値にはサーバーの優先度が使用されます。

構文

整数

参照

Server プライオリティ

メモリソフトリミット(バイト)

説明

外部アプリケーション・プロセスまたはサーバーによって開始された外部アプリケーションのメモリー消費制限をバイト単位で指定します。

この制限の主な目的は、ソフトウェアのバグや意図的な攻撃のために過度のメモリ使用を防止し、通常の使用に制限を設けないことです。 十分なヘッドスペースを確保してください。そうしないと、アプリケーションが失敗し、503エラーが返される可能性があります。 サーバーレベルまたは個々の外部アプリケーションレベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。

オペレーティングシステムのデフォルト設定は、値が両方のレベルにないか、0に設定されている場合に使用されます。

構文

整数

ヒント

[注意]この制限を過度に調整しないでください。 アプリケーションでより多くのメモリが必要な場合は、503のエラーが発生する可能性があります。

メモリハードリミット

説明

ソフトリミットをユーザープロセス内のハードリミットまで上げることができることを除けば、メモリソフトリミット(バイト)と同じくらい同じです。 ハード・リミットは、サーバー・レベルまたは個々の外部アプリケーション・レベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。

値が両方のレベルにないか、0に設定されている場合、オペレーティングシステムのデフォルトが使用されます。

構文

整数

ヒント

[注意]この制限を過度に調整しないでください。アプリケーションがより多くのメモリを必要とする場合、503エラーが発生する可能性があります。

プロセスソフトリミット

説明

ユーザーに代わって作成できるプロセスの総数を制限します。 既存のすべてのプロセスは、開始される新しいプロセスだけでなく、この限度に対してカウントされます。 制限は、サーバーレベルまたは個々の外部アプリケーションレベルで設定できます。
サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。 この値が0または両方のレベルにない場合、オペレーティングシステムのデフォルト設定が使用されます。

構文

整数

ヒント

Information PHPスクリプトはプロセスをフォークするために呼び出すことができます。 この制限の主な目的は、フォーク爆弾や他のプロセスを作成するPHPプロセスによって引き起こされる他の攻撃を防ぐための最終防衛線です。
この設定を低すぎると、機能が著しく損なわれる可能性があります。 この設定は特定のレベル以下では無視されます。
suEXECデーモンモードを使用する場合、親プロセスが制限されないように、実際のプロセス制限はこの設定よりも高くなります。

プロセスハードリミット

説明

ソフトリミットをユーザープロセス内のハードリミットまで上げることができることを除けば、プロセスソフトリミットとほとんど同じです。 ハードリミットは、サーバー・レベルまたは個々の外部アプリケーションレベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。 オペレーティングシステムのデフォルト値は、値が両方のレベルにないか、0に設定されている場合に使用されます。

構文

整数