Web サーバコネクタについて

ネイティブの Web サーバ接続モジュール、すなわちコネクタは、特定の Web サーバ、ハードウェアアーキテクチャ、およびオペレーティングシステムに対応してコンパイルされています。たとえば、JRun は Apache モジュールを使用して、各ハードウェアアーキテクチャおよび JRun でサポートされているオペレーティングシステムに対して、Apache web Server 用のコネクタを作成します。JRun Web サーバコネクタを、バックエンドシステムと統合できる Sun J2EE JCA (Java Connector Architecture) コネクタと混同しないでください。

JRun 接続モジュール (JCM)

各 JRun サーバに 1 つ以上の Web サーバを接続できます。基本的なデプロイ環境では、アプリケーションを処理する 1 つの JRun サーバに 1 つの Web サーバを接続します。次の図は、1 つの JRun サーバに接続された 1 つの Web サーバを示します。

アプリケーションリソースに対してリクエストがあると、Web サーバ上のコネクタにより、JRun サーバ内に常駐する JCM (JRun 接続モジュール) へのネットワーク接続が確立されます。JCM によって透過的に通信ができるようになり、コネクタから JRun サーバにリクエストが転送されます。JRun サーバはリクエストを処理して、JCM に返信します。

JRun プロキシポート

ポート番号およびオプションのバインドアドレスを使用して、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 サーバ設定ツールを実行することによって Web サーバコネクタを作成します。このツール (JRun 3.x で使用されたコネクタウィザードの代わりとなる) は、Swing アプリケーションです。Web サーバ上にコネクタをインストールし、Web サーバと JRun サーバ間の接続を定義します。

Web サーバ設定ツールを実行するには

  1. 接続先の JRun サーバを起動します。JRun サーバがクラスタの一部となっている場合は、クラスタ内ですべての JRun サーバを起動します。
  2. Web サーバがあるマシンで、Web サーバ設定ツールを実行します。次のいずれかの方法で、Web サーバ設定ツールを実行します。

通常は Web サーバ設定ツールを使用して、同じコンピュータ上で動作している Web サーバと JRun サーバ間の接続を設定します。ただし、Web サーバと JRun サーバを同じコンピュータ上にインストールする必要はありません。Web サーバコネクタの設定オプションについては、後の章で詳しく説明します。Web サーバ設定ツールの実行の詳細については、『JRun インストールガイド』を参照してください。

メモ:  クラスタ内に JRun サーバがあると、Web サーバコネクタは自動的にロードバランスおよびフェイルオーバーを有効にします。詳細については、「コネクタベースのクラスタリング」を参照してください。

Web サーバ設定ツールは次のように、Web サーバのコンピュータ上にある設定ファイルにプロパティを保管します。

JRun Web サーバコネクタはこの設定を使用して、JRun サーバを検出し、どのサーバに接続すべきかを判断します。次の表では、Web サーバの設定ファイルに含まれている JRun プロパティを説明します。
プロパティ
説明
bootstrap
JRun サーバのプロキシサービスがコネクタリクエストをリスンする IP アドレスおよびポート。JRun もこのポート/アドレスの組み合わせをリスンするように設定し、ProxyService をアクティブにする必要があります。
serverstore
ブートストラップクラスタ内にあり JRun サーバに関する情報が含まれているファイルの名前。コネクタは自動的にこのファイルを作成します。デフォルトは jrunserver.store です。
verbose
JRun サーバと Web サーバ間の通信に関する、より詳細な Web サーバのログファイルエントリを作成します。このオプションを有効にすると、Web サーバのログファイルは急速に大きくなります。true または false を指定します。デフォルトは false です。
scriptpath
IIS のみ適用されます。Web サーバ上の virtual/JRunScripts ディレクトリを指します。
errorurl
(オプション) カスタマイズされたエラーメッセージが含まれているファイルへの URL を指します。デフォルトでは、このプロパティはコメント化されています。
ssl
(オプション) Web サーバコネクタが SSL を使用して JRun サーバと通信するかどうかを指定します。true または false を指定します。ほとんどの Web サーバはファイヤウォール内に存在するので、通常、このプロパティには false を指定します。
apialloc
Web サーバのアロケータでなくネイティブの OS メモリアロケーションを有効にします。

serverstore プロパティは、クラスタ内のすべて JRun サーバのマシン名および JRun プロキシポートが含まれているファイル名を指定します。このファイルはデフォルトで jrunserver.store という名前が付いています。proxyservers プロパティには、クラスタ内の JRun サーバがセミコロンで区切られているリストが含まれています。Web サーバコネクタは、起動時にクラスタ内にブートストラップ JRun サーバがあることを検出すると、自動的にこのプロパティを挿入します。次の図は、このプロセスを示しています。

詳細については、「コネクタベースのクラスタリング」を参照してください。

Web サーバ設定ファイルのサンプル

このセクションでは、Web サーバと JRun を接続する場合に指定する Web サーバのプロパティの例を示し、Web サーバの設定ファイルのパラメータを具体的に説明します。ここで説明する例では、JRun サーバと Web サーバが同一のコンピュータ上にあるものとします。

Apache 設定ファイル

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 設定ファイル

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 設定ファイル

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"