FastCGI Config

Lighttpdのfast-cgiに関する設定は、

  • fastcgi.debug
  • fastcgi.map-extensions
  • fastcgi.server

の三種類があります

fastcgi.debug

0-65535までのFastCGIモジュールのデバッグレベルを指定します。(現状では0/1しか使用されていないようです。)

fastcgi.debug = 0
fastcgi.map-extentions

FastCGIモジュールにマッピングする拡張子を指定します。複数の拡張子を持つファイルをFastCGIモジュールにマッピングします。

fastcgi.map-extentions = ( ".php3" => ".php" )
fastcgi.server

リクエストをFastCGIモジュールへ送信するための設定。拡張子ごとにFastCGIへのハンドラを定義します。同じ拡張子に複数>のハンドルを指定することで負荷分散することが可能です。形式は以下のようになります。

fastcgi.server =
  (<拡張子> => ".fcgi"
    ("host"=><文字列>,
     "port"=><数値>,
     "socket"=><文字列>,
     "bin-path"=><文字列>,
     "bin-environment"=><配列>,
     "bin-copy-environment"=><配列>,
     "mode"=><文字列>,
     "docroot"=><文字列>,
     "check-local"=><文字列>,
     "min-procs"=><数値>,
     "max-procs"=><数値>,
     "max-load-per-proc"=><数値>,
     "idle-timeout"=><数値>,
     "broken-scriptfilename"=><論理値>,
     "disable-time"=><数値>,
     "allow-x-send-file"=><論理値>
    )
  )

パラメータの意味は以下の通り。*のあるものはオプション扱いです。また、"min-procs","max-procs","idle-timeout",bin-environment","bin-copy-environment"は"bin-path"を設定した場合有効です。

  1. host=>ホスト名/IPアドレス(*1)
  2. port=>TCPポート番号(*1)
  3. socket=>UNIXドメインソケット(*1)
  4. *bin-path=>ローカルFastCGIプロセスへのパス
  5. *bin-environment=>プロセス環境変数の指定
  6. *mode=>FastCGIのプロトコルモード["responder"|"authorizer"]
  7. *docroot=>リモートホストのドキュメントルート(*)(*2)
  8. *check-local=>ファイルチェックの指定。["enable"|"disable"](*3)
  9. *min-procs=>起動時の最小プロセス数
  10. *maxl-procs=>起動時の最大プロセス数
  11. *diable-time=>バックエンドのプロセスの待ち時間
  12. *allow-x-send-file=>X-Sendfileヘッダオプションの許可
  13. *max-load-per-proc=>新しいプロセスの生成条件(*4)
  • (*1)host+portまたはsocketを指定
  • (*2)プロトコルモードが"responder"の場合オプション。プロトコルモードが"authorizer"の場合は必須。セキュリティ上の観点よりserver.doc-rootの外側に設定するこ>とが望ましい。
  • (*3)"enable"を指定した場合、local server.document-rootにファイルが存在しない場合404(Not Found)を返します。"disable"の場合、チェックなしでFastCGIへ転送します。
  • (*4)プロセス数がこの値を超えると新しいプロセスを生成する

返信