ネイティブの Web サーバ接続モジュール、すなわちコネクタは、特定の Web サーバ、ハードウェアアーキテクチャ、およびオペレーティングシステムに対応してコンパイルされています。たとえば、JRun は Apache モジュールを使用して、各ハードウェアアーキテクチャおよび JRun でサポートされているオペレーティングシステムに対して、Apache web Server 用のコネクタを作成します。JRun Web サーバコネクタを、バックエンドシステムと統合できる Sun J2EE JCA (Java Connector Architecture) コネクタと混同しないでください。
各 JRun サーバに 1 つ以上の Web サーバを接続できます。基本的なデプロイ環境では、アプリケーションを処理する 1 つの JRun サーバに 1 つの Web サーバを接続します。次の図は、1 つの JRun サーバに接続された 1 つの Web サーバを示します。
アプリケーションリソースに対してリクエストがあると、Web サーバ上のコネクタにより、JRun サーバ内に常駐する JCM (JRun 接続モジュール) へのネットワーク接続が確立されます。JCM によって透過的に通信ができるようになり、コネクタから JRun サーバにリクエストが転送されます。JRun サーバはリクエストを処理して、JCM に返信します。
ポート番号およびオプションのバインドアドレスを使用して、Web サーバと JRun サーバ間の接続を定義します。マシン上の各 JRun サーバは、異なるネットワークポートを使用して、Web サーバからのリクエストをリスンします。このポートを、JRun プロキシポートまたは JCP (JRun コントロールポート) と呼びます。前の例では、デフォルト JRun サーバはポート 51000 をリスンします。コンピュータの各 JRun サーバが、このポート番号に合わせて一意に設定されていることを確認してください。このポート番号は、JMC の [外部 Web サーバ接続設定] パネルを使用して指定します。
また、2 番目のパラメータである Interface を使用して、Web サーバと JRun サーバ間の接続を定義することもできます。インターフェイスアドレスには、JRun サーバがリクエストを受信できるネイティブ Web サーバの IP アドレスを指定します。デフォルトのインターフェイス属性は 127.0.0.1 に設定されます。これは、JRun サーバがローカルホストからのリクエストをリスンすることを意味します。JMC を使用して、これらの IP アドレスを指定できます。
Web サーバ設定ツールを実行することによって Web サーバコネクタを作成します。このツール (JRun 3.x で使用されたコネクタウィザードの代わりとなる) は、Swing アプリケーションです。Web サーバ上にコネクタをインストールし、Web サーバと JRun サーバ間の接続を定義します。
java -jar wsconfig.jar
通常は Web サーバ設定ツールを使用して、同じコンピュータ上で動作している Web サーバと JRun サーバ間の接続を設定します。ただし、Web サーバと JRun サーバを同じコンピュータ上にインストールする必要はありません。Web サーバコネクタの設定オプションについては、後の章で詳しく説明します。Web サーバ設定ツールの実行の詳細については、『JRun インストールガイド』を参照してください。
メモ: クラスタ内に JRun サーバがあると、Web サーバコネクタは自動的にロードバランスおよびフェイルオーバーを有効にします。詳細については、「コネクタベースのクラスタリング」を参照してください。
Web サーバ設定ツールは次のように、Web サーバのコンピュータ上にある設定ファイルにプロパティを保管します。
JRun Web サーバコネクタはこの設定を使用して、JRun サーバを検出し、どのサーバに接続すべきかを判断します。次の表では、Web サーバの設定ファイルに含まれている JRun プロパティを説明します。
serverstore プロパティは、クラスタ内のすべて JRun サーバのマシン名および JRun プロキシポートが含まれているファイル名を指定します。このファイルはデフォルトで jrunserver.store という名前が付いています。proxyservers プロパティには、クラスタ内の JRun サーバがセミコロンで区切られているリストが含まれています。Web サーバコネクタは、起動時にクラスタ内にブートストラップ JRun サーバがあることを検出すると、自動的にこのプロパティを挿入します。次の図は、このプロセスを示しています。
詳細については、「コネクタベースのクラスタリング」を参照してください。
このセクションでは、Web サーバと JRun を接続する場合に指定する Web サーバのプロパティの例を示し、Web サーバの設定ファイルのパラメータを具体的に説明します。ここで説明する例では、JRun サーバと Web サーバが同一のコンピュータ上にあるものとします。
Apache Web サーバと同一のコンピュータに JRun の標準インストールを行った場合、httpd.conf ファイルは次のようになります。
LoadModule ステートメントは、マルチホスティング環境では VirtualHost ディレクティブの外部に記述する必要があります。これは、LoadModule ステートメントのリファレンスはグローバルレベルで 1 回だけ行うようにする必要があるためです。DSO と同様に、Web サーバコネクタを実行するには LoadModule ステートメントが必要です。
また、Apache 設定ファイルでは、rulespath の代わりに Mappings を使用します。
LoadModule jrun_module libexec/mod_jrun.so
<IfModule mod_jrun.c> JRunConfig Verbose false JRunConfig Apialloc false JRunConfig Ssl false JRunConfig Serverstore "/usr/apache/conf/jrunserver.store" JRunConfig Bootstrap 127.0.0.1:51000 #JRunConfig Errorurl <オプションで、エラー発生時にこの URL に転送> </IfModule>
IIS の場合、JRun では jrun.ini ファイルを使用して jrun.dll フィルタを初期化します。一般的な jrun.ini ファイルは次のようになります。
verbose=false
scriptpath=/JRunScripts/jrun.dll serverstore=C:/JRun4/lib/wsconfig/2/jrunserver.store bootstrap=127.0.0.1:51000 apialloc=false ssl=false #errorurl=<オプションで、エラー発生時にこの URL に転送>
Netscape/iPlanet Web サーバの一般的な obj.conf ファイルは次のようになります。
...
<Object name="jrun"> PathCheck fn="jrunfilter" Service fn="jrunservice" </Object> ...
Netscape/iPlanet Web サーバの一般的な magnus.conf ファイルは次のようになります。
...
Init fn="load-modules" shlib="C:/JRun4/lib/wsconfig/1/jrun_nsapi35.dll" funcs="jruninit,jrunfilter,jrunservice" Init fn="jruninit" serverstore="C:/JRun4/lib/wsconfig/1/jrunserver.store" bootstrap="127.0.0.1:51000" verbose="false" apialloc="false" ssl="false"