Apache HTTP サーバ バージョン 2.5
説明: | 外部 CGI デーモンを使った CGI スクリプトの実行 |
---|---|
ステータス: | Base |
モジュール識別子: | cgid_module |
ソースファイル: | mod_cgid.c |
互換性: | Unix のスレッド MPM のみ |
最適化が施されていることと、以下で説明されている追加の ScriptSock
ディレクティブを除いては、
mod_cgid
は mod_cgi
と同様の
動作をします。Apache と CGI に関する詳細は
mod_cgi
の概要を読んでください。
Unix オペレーティングシステムの中には、マルチスレッドのサーバから
プロセスを fork するのが非常にコストの高い動作になっているものがあります。
理由は、新しいプロセスが親プロセスのスレッドすべてを複製するからです。
各 CGI 起動時にこのコストがかかるのを防ぐために、mod_cgid
は子プロセスを fork して CGI スクリプトを実行するための
外部デーモンを実行します。
主サーバは unix ドメインソケットを使ってこのデーモンと通信します。
コンパイル時にマルチスレッド MPM が選ばれたときは
mod_cgi
の代わりに必ずこのモジュールが使用されます。
ユーザのレベルではこのモジュールの設定と動作は mod_cgi
とまったく同じです。唯一の例外は ScriptSock
ディレクティブの
追加で、このディレクティブは CGI デーモンとの通信用のソケットの名前を
指定します。
説明: | CGI デーモンとの通信に使われるソケットのファイル名の接頭辞 |
---|---|
構文: | ScriptSock file-path |
デフォルト: | ScriptSock logs/cgisock |
コンテキスト: | サーバ設定ファイル |
ステータス: | Base |
モジュール: | mod_cgid |
このディレクティブは CGI デーモンとの通信に使われるソケットの ファイル名の接頭辞を設定します。また、ファイル名にはサーバのプロセスIDが 追加されます。ソケットは Apache が起動されたユーザ (通常 root) の パーミッションを用いてオープンされます。CGI スクリプトとの通信の セキュリティを保つために、ソケットの存在するディレクトリに 他のユーザが書き込み権限を持っていないようにすることが重要です。
ScriptSock /var/run/cgid.sock