1つのWebサーバーに対して複数のGlassFish Serverクラスターが連携している場合、複数のGlassFish Serverクラスターに同じコンテキストルートのWebアプリケーションを配備することはできません。以下のいずれかの方法を実行することにより、同じコンテキストルートのWebアプリケーションを複数のGlassFish Serverクラスターに配備することができます。
wscadminコマンドで設定します。
バーチャルホストを設定します。
wscadminコマンドで設定
wscadmin add-instance-refサブコマンド実行時に、--targetオプションに指定する値を複数のGlassFish Serverクラスターで同じにすることにより、複数のGlassFish Serverクラスターで負荷分散を行うことができます。
注意
wscadminコマンドは、通常GlassFish ServerクラスターとWebサーバーが異なるマシンにある場合に使用するコマンドです。そのため、WebサーバーとGlassFish Serverクラスターが同一マシンにある場合は、同一アプリケーションの負荷分散を行う用途以外では使用しないでください。
GlassFish Serverクラスター、GlassFish Serverインスタンスの作成
GlassFish ServerクラスターやGlassFish Serverインスタンスを未作成の場合、asadmin create-clusterサブコマンド、create-local-instanceサブコマンドで、GlassFish ServerクラスターおよびGlassFish Serverインスタンスを作成します。この際、負荷分散の対象数に応じてGlassFish Serverクラスターを複数作成します。
WebサーバーとGlassFish Serverクラスターの連携を解除
asadmin delete-web-server-refサブコマンドで、すべてのGlassFish ServerクラスターとWebサーバーの連携を解除します。GlassFish Serverクラスターと連携しているWebサーバーは、asadminコマンドのlist-web-server-refsサブコマンドで確認できます。
GlassFish Serverクラスターへのアプリケーションの配備
asadminコマンドのdeployサブコマンドで、各GlassFish Serverクラスターにアプリケーションを配備します。その際、以下となるようにしてください。
「アプリケーション名」が重複しないように、各GlassFish Serverクラスターで名前を変更する。
「コンテキストルート」は、すべてのGlassFish Serverクラスターで同じ値にする。
例
GlassFish ServerクラスターCluster001、Cluster002にWebアプリケーションSampleAppr.warを配備する場合
C:\Interstage\glassfish5\glassfish\bin\asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war |
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war |
wscadminコマンドでWebサーバーとGlassFish Serverクラスターを連携
Webサーバーの存在するマシンでwscadminコマンドのadd-instance-refサブコマンドを使用し、WebサーバーとGlassFish Serverクラスターを連携させます。このとき、オプションやオペランドには以下を指定するようにしてください。
項目 | 設定内容 |
--target | 負荷分散対象を識別する任意の名前 |
--identifier | GlassFish Serverインスタンス名 |
--webserver | 設定対象のWebサーバー名 |
オペランド | GlassFish ServerインスタンスのHTTPリスナーのネットワークアドレスとポート番号を(IPアドレス):(ポート番号)の形式で指定 WebサーバーとGlassFish Serverクラスターを同じマシンで運用する場合は、IPアドレスに127.0.0.1を指定 |
例
連携させるWebサーバー名がFJapache、GlassFish Serverクラスター(Cluster001)のGlassFish Serverインスタンス(Cluster001-1)のリスナーポートが28798、GlassFish Serverクラスター(Cluster002)のGlassFish Serverインスタンス(Cluster002-1)のリスナーポートが28799、IPアドレスが127.0.0.1の場合
C:\Interstage\F3FMwsc\bin\wscadmin add-instance-ref --webserver FJapache --identifier Cluster001-1 --target Cluster001_002 127.0.0.1:28798 |
/opt/FJSVwsc/bin/wscadmin add-instance-ref --webserver FJapache --identifier Cluster001-1 --target Cluster001_002 127.0.0.1:28798 |
add-instance-refサブコマンドで指定するGlassFish Serverインスタンスのリスナーポートは、以下を実行することにより確認できます。
asadminコマンドのlist-instancesサブコマンドを使用し、GlassFish Serverインスタンスの一覧を取得します。
例
GlassFish ServerクラスターがCluster001の場合
C:\Interstage\glassfish5\glassfish\bin\asadmin list-instances Cluster001 Cluster001-1 not running Command list-instances executed successfully. |
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin list-instances Cluster001 Cluster001-1 not running Command list-instances executed successfully. |
各GlassFish Serverインスタンスに対して、asadminコマンドのgetサブコマンドでHTTP_LISTENER_PORTシステムプロパティのvalueを確認します。
例
GlassFish ServerインスタンスCluster001-1のHTTP_LISTENER_PORTを確認する場合
C:\Interstage\glassfish5\glassfish\bin\asadmin get Cluster001-1.system-property.HTTP_LISTENER_PORT Cluster001-1.system-property.HTTP_LISTENER_PORT.name=HTTP_LISTENER_PORT Cluster001-1.system-property.HTTP_LISTENER_PORT.value=28798 Command get executed successfully. |
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin get Cluster001-1.system-property.HTTP_LISTENER_PORT Cluster001-1.system-property.HTTP_LISTENER_PORT.name=HTTP_LISTENER_PORT Cluster001-1.system-property.HTTP_LISTENER_PORT.value=28798 Command get executed successfully. |
wscadminコマンドでWebアプリケーションを振り分け対象にする
Webサーバーの存在するマシンでwscadminコマンドのadd-application-refサブコマンドを使用し、配備したWebアプリケーションを、Webサーバコネクタの振り分け対象に設定します。
例
連携させるWebサーバー名がFJapache、wscadmin add-instance-refの--targetで指定した値がCluster001_002、WebアプリケーションのコンテキストルートがSampleApprの場合
C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target Cluster001_002 SampleAppr |
/opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target Cluster001_002 SampleAppr |
Webコンテナへアクセスする運用形態の設定
asadminコマンドのsetサブコマンドを使用し、Webコンテナへアクセスする運用形態を“webserver”に設定します。詳細は、「ネットワーク設定の定義項目」の「Webコンテナへアクセスする運用形態」を参照してください。
GlassFish Serverクラスターの起動
asadminコマンドのstart-clusterサブコマンドで、各GlassFish Serverクラスターを起動します。
Webサーバーの起動
上記の設定変更を反映させるために、Webサーバーを起動または再起動します。
バーチャルホストを設定
Webサーバーにバーチャルホストを設定し、GlassFish Serverクラスターが使用するバーチャルホストを設定することにより、バーチャルホスト単位にWebアプリケーションの振り分け先GlassFish Serverクラスターを設定することができます。バーチャルホストについては、「Interstage HTTP Server 2.4運用ガイド」の「機能」-「バーチャルホスト」を参照してください。
GlassFish Serverクラスター、GlassFish Serverインスタンスの作成
GlassFish ServerクラスターやGlassFish Serverインスタンスを未作成の場合、asadmin create-clusterサブコマンド、create-local-instanceサブコマンドで、GlassFish ServerクラスターおよびGlassFish Serverインスタンスを作成します。
WebサーバーとGlassFish Serverクラスターを連携
WebサーバーとGlassFish Serverクラスターを同じマシンで運用する場合は、asadmin create-web-server-refサブコマンドで設定します。
WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合は、Webサーバーの存在するマシンでwscadmin add-instance-refサブコマンドで設定します。また、GlassFish Serverクラスターの存在するマシンにもWebサーバーが存在する場合、asadmin delete-web-server-refサブコマンドでGlassFish Serverクラスターの存在するマシンのWebサーバーとGlassFish Serverクラスターの連携を解除します。
バーチャルホストの設定
Webサーバーの環境定義ファイル(httpd.conf)に、以下の形式でVirtualHostディレクティブを作成してください。
<VirtualHost (IPアドレス)[:(ポート番号)]> ServerName バーチャルホスト名 ~省略~ </VirtualHost>
VirtualHostディレクティブで指定したIPアドレス・ポート番号・バーチャルホスト名を次の手順でのコマンド実行の際に使用します。
設定方法の詳細は、「Interstage HTTP Server 2.4運用ガイド」の「環境設定」-「バーチャルホストの設定」を参照してください。
GlassFish Serverクラスターにバーチャルホストを設定
GlassFish Serverクラスターにバーチャルホストを設定します。
WebサーバーとGlassFish Serverクラスターを同じマシンで運用する場合は、asadmin create-virtual-host-refサブコマンドで設定します。
WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合は、Webサーバーの存在するマシンでwscadmin add-virtual-host-refサブコマンドで設定します。
バーチャルホストを設定したWebサーバーと連携させる場合も、asadmin create-virtual-host-refまたはwscadmin add-virtual-host-refを実行する必要があります。
例
Webサーバー(FJapache)とGlassFish Serverクラスターを同じマシンで運用し、GlassFish Serverクラスター(Cluster001)と連携するバーチャルホストが192.0.2.1/myhost、GlassFish Serverクラスター(Cluster002)と連携するバーチャルホストが192.0.2.1:81/virtualhost1の場合
C:\Interstage\glassfish5\glassfish\bin\asadmin create-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost |
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin create-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost |
例
Webサーバー(FJapache)とGlassFish Serverクラスターを別のマシンで運用し、GlassFish Serverクラスター(Cluster001)と連携するバーチャルホストが192.0.2.1/myhost、GlassFish Serverクラスター(Cluster002)と連携するバーチャルホストが192.0.2.1:81/virtualhost1の場合
C:\Interstage\F3FMwsc\bin\wscadmin add-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost |
/opt/FJSVwsc/bin/wscadmin add-virtual-host-ref --target Cluster001 --webserver FJapache 192.0.2.1/myhost |
GlassFish Serverクラスターへのアプリケーションの配備
asadminコマンドのdeployサブコマンドで、各GlassFish Serverクラスターにアプリケーションを配備します。その際、以下となるようにしてください。
「アプリケーション名」が重複しないように、各GlassFish Serverクラスターで名前を変更する。
「コンテキストルート」は、すべてのGlassFish Serverクラスターで同じ値にする。
例
GlassFish ServerクラスターCluster001、Cluster002にWebアプリケーションSampleAppr.warを配備する場合
C:\Interstage\glassfish5\glassfish\bin\asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war |
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin deploy --name SampleAppr1 --contextroot /SampleAppr --target Cluster001 SampleAppr.war |
WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合、wscadminコマンドでWebアプリケーションを振り分け対象にする
WebサーバーとGlassFish Serverクラスターを別のマシンで運用する場合、Webサーバーの存在するマシンでwscadminコマンドのadd-application-refサブコマンドを使用し、配備したWebアプリケーションをWebサーバコネクタの振り分け対象に設定します。WebサーバーとGlassFish Serverクラスターを同一のマシンで運用する場合は、本手順は実施する必要はありません。
例
Webサーバー名がFJapache、GlassFish ServerクラスターがCluster001、Cluster002、コンテキストルートがSampleApprの場合
C:\Interstage\F3FMwsc\bin\wscadmin add-application-ref --webserver FJapache --target Cluster001 SampleAppr |
/opt/FJSVwsc/bin/wscadmin add-application-ref --webserver FJapache --target Cluster001 SampleAppr |
Webコンテナへアクセスする運用形態の設定
asadminコマンドのsetサブコマンドを使用し、Webコンテナへアクセスする運用形態を“webserver”に設定します。詳細は、「ネットワーク設定の定義項目」の「Webコンテナへアクセスする運用形態」を参照してください。
GlassFish Serverクラスターの起動
asadminコマンドのstart-clusterサブコマンドで、各GlassFish Serverクラスターを起動します。
Webサーバーの起動
上記の設定変更を反映させるために、Webサーバーを起動または再起動します。