kahua-spvr

English page

Kahua Release

kahua-web Release

Security Advisory

Event Log

Documentation

For developers

Site info

Related Site

kahua-spvr [-c conf-file] [-i] [-l logfile] [-H [host:]port]

Kahua スーパバイザプロセスをスタートする。スーパバイザプロセスは、 必要に応じてキーサーバプロセス(kahua-keyserv)、HTTPdプロセス(kahua-httpd)、 さらにapp-serversファイル(後述)の記述に従ってワーカプロセスを起動する。 そして、クライアントからのリクエストをワーカにディスパッチし、配下の プロセスの死活管理などを行う。

起動オプション

 -c conf-file
    参照する設定ファイル名を指定する。デフォルトでは
    $(sysconfdir)/kahua/kahua.conf(Setupの際にconfigureスクリプトに
    なにも指定していなければ、/usr/local/etc/kahua/kahua.conf)を探し
    に行く。ここで与えた設定ファイル名は、kahua-spvr が起動する
    kahua-keyservやワーカプロセス(kahua-server)を起動する際にも
    引き継がれる。設定ファイルの書式や設定項目については
    kahua.configを参照。
 -i 
    この interactive オプションが与えられると、標準入出力に対して
    repl (read-eval-print-loop)を起動する。デバッグ用。
 -l log-file
    ログファイル指定。 -l - とするとstdoutにログを出力する。
    デフォルトでは、    $(working-directory)/logs/kahua-spvr.log に
    ログを出力する。
 -H, --httpd [host:]port
    このオプションを与えられた kahua-spvr は、オプションの値を引数に
    kahua-httpdを起動する。
      -H 8080
      -H localhost:8080
    のように指定する。詳細はkahua-httpdを参照。

動作中の kahua-spvr は、kahua-adminコマンドによってインタラクティブに 制御することができる。現状 kahua-spvr は自らを daemonize したり、特定の ユーザ権限に変更して動作する機能を持っていない。バックグラウンドで動作させる には、例えば次のように起動する。

 % (kahua-spvr >> /logpath 2>&1 &)

また、root権限から、特定のユーザ権限に落として起動するためには次のように する。

 # su kahua -c "(kahua-spvr >> /logpath 2>&1 &)"

バグなどの影響でkahua-spvrが異常終了する際、標準エラー出力にエラーメッセージを 出力することがあるため、kahua-spvrの標準出力と標準エラー出力は、/dev/null に リダイレクトすべきではない。

app-serversファイル

kahua-spvrは、自分が管理すべきワーカに関する情報を、 $(working-directory)/app-serversというファイルから読み込む。 このファイルは kahua-spvr 起動時に読み込まれる他、 kahua-adminのreloadコマンドによって再読み込みさせることができる。

app-serversの書式は次の通り。

 ((<server-type> :arguments <args> :run-by-default <count>
   [:profiler <base-path>] [:default-database-name <dbname>])
  ...)
 <server-type>
    シンボルで、ワーカのタイプ(アプリケーションの名前)を書く。
 <args>
    そのワーカプロセス起動時に与えられる引数のリスト。何も指定しない
    場合は () を書く。
 :run-by-default <count>
    kahua-spvr起動時このワーカタイプとして起動するプロセスの数を指定する。
    kahua-spvrは、クライアントから受け取ったリクエストを、このプロセス群
    に対して順番にディスパッチしていく。
 :profile <base-path>
    Gaucheのプロファイラ機能を使用する際、出力先となるファイルのベース名
    を指定する。例えば /usr/local/kahua/logs/profile と指定した場合、
    実際のファイル名は /usr/local/kahua/logs/profile.<worker-id> となり、
    ワーカーひとつあたり100リクエストを処理するごとにプロファイル結果を
    出力する。省略した場合はプロファイリングは行われない。
 :default-database-name <dbname>
    アプリケーションがデフォルトで使用するデータベース名を指定する。
    省略した場合は ${working-directory}/db にファイルシステムデータベース
    が作られ、それが使用される。

app-serversの読み込み時にエラーがあった場合は、単にapp-serversの内容は 無視される。kahua-spvrのログを見て app-servers の読み込み時にエラーが 起きていたら、app-serversファイルを修正後 kahua-admin からreload コマンドを実行すればよい。

Copyright (c) 2003-2007 Kahua Project Contact | About Us