Kahua Release
- Release Note
- Download
- Current Version 1.0.7.3 (2008-05-08)
kahua-web Release
- kahua-webとは
- Release Note
- Download
- Current Version 0.3.1 (2007-06-12)
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 コマンドを実行すればよい。