[対象とするシステム構成]
本ドキュメントは、次のようなシステム構成を対象としたドキュメントです。
・複数のアプリケーションを別々のドメインで動作させ、クライアント(Webブラウザ)からは一つのポート番号でアクセスする
このシステム構成を実現するための方法は色々ありますが、ここでは、Webサーバプラグイン(*1)の設定による方法を説明します。
*1) Webサーバに組み込まれ、クライアントからのリクエストを連携したWebOTXドメインに転送する役割りを持つコンポーネント。
[対象とする環境]
本ドキュメントの対象とする具体的な環境は次の通りです。
・domain1とdomain2の2つのドメインが存在
・2つのドメインとWebサーバが同じマシンで動作
・2つのドメインにコンテキストパスが異なるアプリケーションを配備
・domain1のWebOTX Webサーバを利用して2つのドメインに配備したアプリケーションにアクセス
本ドキュメントで記載している設定はdomain1に対して行います。つまり、domain1のWebOTX Webサーバを利用してdomain1とdomain2と連携します。
3つ以上のドメインが存在するケースでは、以降の手順の中で追加で次の設定を行います。
・[Webサーバ連携用ファイルの設定] … 3つ目以降のドメイン用のワーカを定義
・[コンテキスト情報を手動で設定する方法] … (5) 3つ目以降のドメイン用のコンテキスト情報を定義
(6) 3つ目以降のドメインのWebOTX Webサーバを無効化
domain1のWebOTX WebサーバではなくWebOTX Webサーバのみを動作させた専用のドメインを利用する場合は、Webサーバ専用のドメインを作成したのち、以降の手順の中で次のように設定を行います。
・[Webサーバ連携用ファイルの設定] … Webサーバ専用ドメインに対して作業を行う
・[コンテキスト情報を手動で設定する方法] … (1)~(5) Webサーバ専用ドメインに対して作業を行う
[Webサーバ連携用ファイルの設定]
まず、domain1のWebOTX Webサーバを2つのドメインと連携するための設定を行います。
対象ファイル:
<ドメインディレクトリ(domain1)>/config/WebCont/workers.properties
worker.list に domain1 用と domain2 用にそれぞれワーカを定義します。
※ワーカとは、Webサーバプラグインが連携するドメインとの接続を1対1で管理する単位です。
[設定内容]
-------------------------------------
#
# domain_1_xxxx … domain1用ワーカ名
# domain_2_xxxx … domain2用ワーカ名
# ajp13_original … 動的反映OFFの設定
#
worker.list=domain_1_agent-ajp,domain_1_tpsystem-ajp,domain_2_agent-ajp,domain_2_tpsystem-ajp
#
# domain1用のワーカ
#
# エージェントプロセス用
worker.domain_1_agent-ajp.port=8099
worker.domain_1_agent-ajp.host=localhost
worker.domain_1_agent-ajp.type=ajp13
worker.domain_1_agent-ajp.connection_pool_size=150
worker.domain_1_agent-ajp.recovery_options=7
# プロセスグループ用
worker.domain_1_tpsystem-ajp.port=20102
worker.domain_1_tpsystem-ajp.host=localhost
worker.domain_1_tpsystem-ajp.type=ajp13
worker.domain_1_tpsystem-ajp.connection_pool_size=150
worker.domain_1_tpsystem-ajp.recovery_options=7
#
# domain2用のワーカ
#
# エージェントプロセス用
worker.domain_2_agent-ajp.port=8010
worker.domain_2_agent-ajp.host=localhost
worker.domain_2_agent-ajp.type=ajp13
worker.domain_2_agent-ajp.connection_pool_size=150
worker.domain_2_agent-ajp.recovery_options=7
# プロセスグループ用
worker.domain_2_tpsystem-ajp.port=20112
worker.domain_2_tpsystem-ajp.host=localhost
worker.domain_2_tpsystem-ajp.type=ajp13
worker.domain_2_tpsystem-ajp.connection_pool_size=150
worker.domain_2_tpsystem-ajp.recovery_options=7
-------------------------------------
上記の場合、worker.domain1_xxxxがdomain1とやり取りを行うワーカであり、worker.domain_2_xxxxがdomain2とやり取りを行うワーカです。それぞれのドメインには、エージェントプロセスと連携するワーカと、プロセスグループと連携するワーカの2つのワーカがあります。それぞれ、次のようにWebサーバとの連携用ポート番号を設定します。
worker.domain_1_agent-ajp.port=8099
worker.domain_1_tpsystem-ajp.port=20102
worker.domain_2_agent-ajp.port=8010
worker.domain_2_tpsystem-ajp.port=20112
それぞれのポート番号は各ドメインにおいて次のコマンドで確認可能です。
otxadmin> login --user admin --password adminadmin -- port {管理用ポート番号}
[エージェントプロセス用]
otxadmin> get server.network-config.network-listeners.network-listener.agent-ajp-listener.port
[プロセスグループ用]
otxadmin> get server.network-config.network-listeners.network-listener.tpsystem-ajp-listener.port
※管理用ポート番号は次のファイルに記載しています。
domain1用:
{WebOTXインストールディレクトリ}/domain1.properties
domain.admin.port=6212
domain2用:
{WebOTXインストールディレクトリ}/{domain2作成時に使用したpropertiesファイル}
domain.admin.port=6222
また、動的反映機能を無効(OFF)に設定してください。動的反映機能の無効の設定はdomain1に対して次のコマンドを実行します。
otxadmin> login --user admin --password adminadmin --port {domain1の管理用ポート番号}
otxadmin> set server.web-container.plugin-config.plugin-query-mode=Off
この設定を行った場合、ドメインに配備しているWebアプリケーションのコンテキスト情報(アクセスするためのURL)を手動で設定する必要があります。コンテキスト情報を手動で設定する手順は次の通りです。
[コンテキスト情報を手動で設定する方法]
※以下はドメインディレクトリが「C:/WebOTX/domains/domain1」で、WebOTX Webサーバ 2.4 と連携を行っている場合の例です。パスは、Unixの場合「/opt/WebOTX/domains/domain1」という形になります。
※この設定を行った場合、配備しているWebアプリケーションへのアクセスURLが変わった場合や、新しいWebアプリケーションを配備する 場合に「5) コンテキスト情報の追記」の作業が必要となります。
1) httpd.confの設定
<ドメインディレクトリ(domain1)>/config/WebServer/httpd.confの confの箇所をconf-custom に変更します。
修正前:
include "C:/WebOTX/domains/domain1/config/WebCont/mod_jk-24.conf"
修正後:
include "C:/WebOTX/domains/domain1/config/WebCont/mod_jk-24.conf-custom"
2) mod_jk-24.conf-customの作成
<ドメインディレクトリ(domain1)>/config/WebCont/mod_jk-24.confをコピーしてmod_jk-24.conf-customを作成します。
3) mod_jk-24.conf-customの設定
mod_jk-24.conf-customの中のuriworkermap.propertiesの定義をuriworkermap.properties-customに変更します。
修正前:
JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties"
修正後:
JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties-custom"
4) uriworkermap.properties-customの作成
<ドメインディレクトリ(domain1)>/config/WebCont/uriworkermap.propertiesをコピーしてuriworkermap.properties-customを作成します。
5) コンテキスト情報の追記
uriworkermap.properties-customにコンテキストパス(以下の{コンテキストパス}部分)とワーカのマッピングを記述します。コンテキストパスの前に "/" を付与します。
http://{host}:{port}/{コンテキストパス}/{コンテンツパス名等}
------------------------------------
/{コンテキストパス}={ワーカ名}
/{コンテキストパス}/*={ワーカ名}
------------------------------------
例えば、domain1のエージェントプロセスにAAA、domain2のプロセスグループにBBB のコンテキストパスでアクセスするアプリケーションを配備している場合次のようになります。
------------------------------------
/AAA=domain_1_agent-ajp
/AAA/*=domain_1_agent-ajp
/BBB=domain_2_tpsystem-ajp
/BBB/*=domain_2_tpsystem-ajp
------------------------------------
2つのドメインそれぞれのワーカ名を定義し、一つのWebアプリケーションについて"/AAA"と"/AAA/*"をセットで追加します。
6) domain2のWebOTX Webサーバ無効化
今回のケースでは、domain1のWebOTX Webサーバを利用するため、誤動作防止のためdomain2のWebOTX Webサーバを無効にします。
otxadmin> login --user admin --password adminadmin --port {domain2の管理ユーザ用ポート番号}
otxadmin> set server.internal-lifecycle-module.WebServerService.enabled=false
7) ドメインの再起動
設定を反映させるために2つのドメインをそれぞれ再起動します。
【対象製品】Application Server
【確認済みのバージョン】V10
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】運用/設定