ロードバランサプラグインインストールプログラムは、Web サーバーの設定ファイルに対していくつかの変更を加えます。これらの変更は、Web サーバーによって異なります。
ロードバランサプラグインは、サポートされている Web サーバーを実行するマシン上に、Sun Java System Application Server Enterprise Edition とともにインストールすることも、または個別にインストールすることもできます。インストール手順の詳細については、『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Installation Guide』の第 1 章「Installing Application Server Software」(スタンドアロンの Application Server を使用している場合)、または『Sun Java Enterprise System 2005Q5 インストールガイド』(Java Enterprise System を使用している場合) を参照してください。
インストールプログラムは、Sun Java System Web Server の設定ファイルに次のエントリを追加します。
Web サーバーインスタンスの magnus.conf ファイルに、次のエントリを追加します。
##EE lb-pluginInit fn="load-modules" shlib="web_server_install_dir/plugins/lbplugin/bin/libpassthrough.so" funcs="init-passthrough,service-passthrough,name-trans-passthrough" Thread="no" Init fn="init-passthrough" ##end addition for EE lb-plugin
Web サーバーインスタンスの obj.conf ファイルに、次のエントリを追加します。
<Object name=default> NameTrans fn="name-trans-passthrough" name="lbplugin" config-file="web_server_install_dir/web_server_instance/config/loadbalancer.xml" <Object name="lbplugin"> ObjectType fn="force-type" type="magnus-internal/lbplugin" PathCheck fn="deny-existence" path="*/WEB-INF/*" Service type="magnus-internal/lbplugin" fn="service-passthrough" Error reason="Bad Gateway" fn="send-error" uri="$docroot/badgateway.html" </object>
このコードでは、lbplugin は、Object を一意に識別する名前であり、web_server_install_dir/web_server_instance/config/loadbalancer.xml は、ロードバランサが動作するように設定されている仮想サーバーの XML 設定ファイルの場所です。
インストールが完了したら、「HTTP 負荷分散の設定」の説明に従ってロードバランサを設定します。
Apache Web Server を使用するには、ロードバランサプラグインをインストールする前に、特定の設定手順を実行する必要があります。また、ロードバランサプラグインのインストールによっても、Apache Web Server に追加の変更が加えられます。プラグインをインストールしてから、追加の設定手順を実行する必要があります。
Apache 1.3 で、複数の Apache の子プロセスが動作している場合、各プロセスは固有の負荷分散ラウンドロビンシーケンスを使用しています。たとえば、Apache の子プロセスが 2 つ動作していて、ロードバランサプラグインが 2 つのアプリケーションサーバーインスタンスに対して負荷分散する場合、最初の要求はインスタンス #1 に送信され、2 番目の要求もインスタンス #1 に送信されます。3 番目の要求はインスタンス #2 に送信され、4 番目の要求も同じくインスタンス #2 に送信されます。instance1、instance1、instance2、instance2 (以下も同じ) という、このパターンが繰り返されます。この動作は、通常予測される順序、つまり、instance1、instance2、instance1、instance2 (以下も同じ) とは異なります。Sun Java System Application Server では、Apache 用のロードバランサプラグインは Apache プロセスごとにロードバランサインスタンスをインスタンス化して、独立した負荷分散シーケンスを作成します。
--with-mpm=worker オプションを使用してコンパイルした場合、Apache 2.0 は動作をマルチスレッド化します。
Apache Web Server の場合は、Apache のバージョンに応じて、インストールが最小要件を満たす必要があります。
Apache 1.3 では、ロードバランサプラグインに次のものが必要です
openssl-0.9.7e (ソース)
mod_ssl-2.8.16-1.3.x (ソース)。この x は Apache のバージョンを表します。mod_ssl バージョンは、Apache のバージョンに一致している必要があります。
gcc-3.3-sol9-sparc-local パッケージ (Solaris SPARC の場合)
gcc-3.3-sol9-intel-local パッケージ (Solaris x86 の場合)
flex-2.5.4a-sol9-sparc-local パッケージ (Solaris SPARC の場合)
flex-2.5.4a-sol9-intel-local パッケージ (Solaris x86 の場合)
ソフトウェアソースは、http://www.sunfreeware.com で入手できます。
さらに、Apache をコンパイルする前に、次の操作をしてください。
Linux プラットフォームでは、同じマシンに Sun Java System Application Server をインストールします。
Solaris オペレーティングシステムでは、gcc バージョン 3.3 と make が PATH に含まれており、flex がインストールされていることを確認してください。
Solaris 10 オペレーティングシステムでは、OpenSSL 用の make を実行する前に、Solaris SPARC の場合は /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/install-tools に、Solaris x86 の場合は /usr/local/lib/gcc-lib/i386-pc-solaris2.9/3.3/install-tools に格納されている mkheaders を実行します。
Red Hat Enterprise Linux Advanced Server 2.1 上で gcc を使用する場合、そのバージョンは gcc 3.0 以降である必要があります。
gcc 以外の C 言語のコンパイラを使用するには、その C 言語のコンパイラのパスを設定して、PATH 環境変数のユーティリティーを使用可能にします。たとえば、sh シェルでは次のようになります。export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:appserver_installdir/lib
Apache 2.0 では、ロードバランサプラグインに次のものが必要です
openssl-0.9.7e (ソース)
httpd-2.0.49 (ソース)
gcc-3.3-sol9-sparc-local パッケージ (Solaris SPARC の場合)。
gcc-3.3-sol9-intel-local パッケージ (Solaris x86 の場合)
flex-2.5.4a-sol9-sparc-local パッケージ (Solaris SPARC の場合)
flex-2.5.4a-sol9-intel-local パッケージ (Solaris x86 の場合)
ソフトウェアソースは、http://www.sunfreeware.com で入手できます。
さらに、Apache をコンパイルする前に、次の操作をしてください。
Linux プラットフォームでは、同じマシンに Sun Java System Application Server をインストールします。
Solaris オペレーティングシステムでは、gcc バージョン 3.3 と make が PATH に含まれており、flex がインストールされていることを確認してください。
Solaris 10 オペレーティングシステムでは、OpenSSL 用の make を実行する前に、Solaris SPARC の場合は /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/install-tools に、Solaris x86 の場合は /usr/local/lib/gcc-lib/i386-pc-solaris2.9/3.3/install-tools に格納されている mkheaders を実行します。
Red Hat Enterprise Linux Advanced Server 2.1 上で gcc を使用する場合、そのバージョンは gcc 3.0 以降である必要があります。
gcc 以外の C 言語のコンパイラを使用するには、その C 言語のコンパイラのパスを設定して、PATH 環境変数のユーティリティーを使用可能にします。たとえば、sh シェルでは次のようになります。export LD_LIBRARY_PATH= app_server_install_dir/lib:$LD_LIBRARY_PATH.
Apache 用のロードバランサプラグインをインストールする前に、Apache Web Server をインストールします。Apache ソースをコンパイルし、SSL で動作するようにビルドする必要があります。この節では、ロードバランサプラグインが実行されるように Apache Web Server を正常にコンパイルするために必要な最小要件と高レベルの手順について説明します。これらの要件と手順は、ソフトウェアの Solaris および Linux バージョンにのみ適用されます。Apache の Windows バージョンについては、Apache の Web サイトを参照してください。
Apache ソフトウェアがすでにダウンロードされ、圧縮解除されている必要があります。
OpenSSL ソースをダウンロードし、展開します。
OpenSSL をコンパイルしてビルドします。
OpenSSL 0.9.7.e がインストールされている場合、Linux プラットフォームではこの手順は必要ありません。
次のコマンドを入力します。
cd openssl-0.9.7e make make install |
OpenSSL の詳細については、http://www.openssl.org/を参照してください。
Apache のバージョンに応じて、次のいずれかの手順に従います。
Apache 1.3 の場合は、次の手順に従い、mod_ssl を使用して Apache を設定します。
mod_ssl ソースを展開します。
cd mod_ssl-2.8.14–1.3.x
./configure –with-apache=../apache_1.3. x --with-ssl=../openssl-0.9.7e --prefix=install_path --enable-module=ssl --enable-shared=ssl --enable-rule=SHARED_CORE --enable-module=so
このコマンドの中で、x は Apache のバージョン番号、install_path は Apache をインストールするディレクトリです。
mod_ssl の詳細については、http://www.modssl.orgを参照してください。
Apache 2.0 の場合は、ソースツリーを設定します。
Linux 2.1 上の Apache の場合は、コンパイルの前に次の手順を実行します。
src/MakeFile を開き、自動的に生成されるセクションの最後を見つけます。
自動的に生成されるセクションのあとの最初の 4 行のあとに、次の行を追加します。
LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/appserver_installdir/lib -L/opt/sun/private/lib
-L/opt/sun/private/lib は、Application Server を Java Enterprise System インストールの一部としてインストールした場合にのみ必要であることに注意してください。
次に例を示します。
## (End of automatically generated section) ## CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) LIBS=$(EXTRA_LIBS) $(LIBS1) INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) "LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/appserver_installdir /lib -L/opt/sun/private/lib
環境変数 LD_LIBRARY_PATH を設定します。
すべてのインストールで、次のように設定します。appserver_install_dir/lib
Java Enterprise System インストールでは、appserver_install_dir/lib:opt/sun/private/lib に設定します。
使用しているバージョンのインストール手順で説明されている方法で、Apache をコンパイルします。
詳細については、http://httpd.apache.org/を参照してください。
一般的な手順は次のとおりです。
環境に応じて Apache を設定します。
ロードバランサプラグインのインストールプログラムは、必要なファイルを、Web サーバーのルートディレクトリ内のディレクトリに展開します。
Apache 1.3 の場合、このディレクトリは libexec です。
Apache 2.0 の場合、このディレクトリは modules です。
インストールプログラムは、Web サーバーインスタンスの httpd.conf ファイルに次のエントリを追加します。
<VirtualHost machine_name:443> ##Addition for EE lb-plugin LoadFile /usr/lib/libCstd.so.1 LoadModule apachelbplugin_module libexec/mod_loadbalancer.so #AddModule mod_apachelbplugin.cpp <IfModule mod_apachelbplugin.cpp> config-file webserver_instance/conf/loadbalancer.xml locale en </IfModule> <VirtualHost machine_ip_address> DocumentRoot "webserver_instance/htdocs" ServerName server_name </VirtualHost> ##END EE LB Plugin ParametersVersion 7
Apache Web Server は、ロードバランサプラグインとの適切な動作のために、正しいセキュリティーファイルを保持している必要があります。
apache_install_dir の下に sec_db_files という名前のディレクトリを作成します。
application_server_domain_dir/config/*.db を apache_install_dir/sec_db_files にコピーします。
プラットフォームに応じて、追加の設定を実行します。
ロードバランサプラグインを使用するように Microsoft Internet Information Services (IIS) を設定するには、Windows Internet Services Manager で特定のプロパティーを変更します。Internet Services Manager は、「コントロールパネル」フォルダの「管理ツール」フォルダに置かれています。
これらの変更は、Sun Java System Application Server をインストールしてから行います。
Internet Services Manager を開きます。
プラグインを有効にする Web サイトを選択します。
この Web サイトは通常、デフォルトの Web サイトと名付けられます。
この Web サイト上で右クリックして「プロパティー」を選択し、「プロパティー」ノートブックを開きます。
次の手順に従って、新しい ISAPI フィルタを追加します。
新しい仮想ディレクトリを作成および設定します。
システムの PATH 環境変数に、sun-passthrough.dll ファイルのパスおよび application_server_install_dir/bin を追加します。
マシンを再起動します。
Web サーバーを停止してから起動して、新しい設定を反映させます。
Web サーバーを停止するには、Web サイト上で右クリックして「停止」を選択します。Web サーバーを起動するには、Web サイト上で右クリックして「起動」を選択します。
Web サーバー、ロードバランサプラグイン、および Application Server が正常に動作していることを確認します。
Web ブラウザに以下のように入力して Web アプリケーションのコンテキストルートにアクセスします。http://webserver_name/ web_application。ここで、webserver_name は Web サーバーのホスト名または IP アドレスであり、web_application は C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.properties ファイルに一覧表示したコンテキストルートです。
インストーラは、sun-passthrough.properties 内に次のプロパティーを自動的に設定します。デフォルト値は変更可能です。
プロパティー |
定義 |
デフォルト値 |
---|---|---|
lb-config-file |
ロードバランサ設定ファイルへのパス |
IIS_www_root\sun-passthrough\loadbalancer.xml |
log-file |
ロードバランサログファイルへのパス |
IIS_www_root\sun-passthrough\lb.log |
log-level |
Web サーバーのログレベル |
INFO |
Sun Java System Application Server インストーラでは、1 台のマシンに複数のロードバランサプラグインをインストールできません。1 台のマシンの 1 つまたは複数のクラスタ内に、ロードバランサプラグインとともに複数の Web サーバーを置くには、いくつかの手順を手動で実行してロードバランサプラグインを設定する必要があります。
ロードバランサプラグインを使用するように新しい Web サーバーインスタンスを設定します。
「Sun Java System Web Server に対する変更」、「Apache Web Server の使用」、または 「インストール」の手順に従います。
DTD ファイルをコピーします。
既存の Web サーバーインスタンスの config ディレクトリから、sun-loadbalancer_1_1.dtd を新しいインスタンスの config ディレクトリにコピーします。
ロードバランサ設定ファイルを設定します。次のいずれかを実行します。
既存のロードバランサ設定をコピーします。
既存のロードバランサ設定を使用して、既存の Web サーバーインスタンスの config ディレクトリから、loadbalancer.xml ファイルを新しいインスタンスの config ディレクトリにコピーします。
新しいロードバランサ設定を作成します。
asadmin create-http-lb-config を使用して、新しいロードバランサ設定を作成します。
asadmin export http-lb-config を使用して、新しい設定を loadbalancer.xml ファイルにエクスポートします。
loadbalancer.xml ファイルを、新しい Web サーバーの config ディレクトリにコピーします。
ロードバランサ設定を作成し、それを loadbalancer.xml ファイルにエクスポートする方法については、「HTTP ロードバランサ設定の作成」を参照してください。