[対象とするシステム構成]
本ドキュメントは、次のようなシステム構成を対象としたドキュメントです。
・複数のアプリケーションを別々のドメインで動作させ、クライアント(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 … domain1用ワーカ名
# domain_2 … domain2用ワーカ名
# ajp13_original … 動的反映OFFの設定
#
worker.list=domain_1,domain_2,ajp13_original
#domain1用のワーカ
worker.domain_1.port=8099
worker.domain_1.host=localhost
worker.domain_1.type=ajp13
worker.domain_1.connection_pool_size=150
#domain2用のワーカ
worker.domain_2.port=8010
worker.domain_2.host=localhost
worker.domain_2.type=ajp13
worker.domain_2.connection_pool_size=150
-------------------------------------
上記の場合、worker.domain1がdomain1とやり取りを行うワーカであり、worker.domain_2がdomain2とやり取りを行うワーカです。それぞれ、次のようにWebサーバとの連携用ポート番号を設定します。
worker.domain_1.port=8099
worker.domain_2.port=8010
それぞれのポート番号は各ドメインにおいて次のコマンドで確認可能です。
otxadmin> login --user admin --password adminadmin -- port {管理用ポート番号}
otxadmin> get server.network-config.network-listeners.network-listener.ajp-listener-1.port
server.network-config.network-listeners.network-listener.ajp-listener-1.port = 8099
※管理用ポート番号は次のファイルに記載しています。
domain1用:
{WebOTXインストールディレクトリ}/domain1.properties
domain.admin.port=6212
domain2用:
{WebOTXインストールディレクトリ}/{domain2作成時に使用したpropertiesファイル}
domain.admin.port=6222
また、動的反映機能を無効(OFF)に設定してください。動的反映機能の無効の設定は上記[設定内容]のように 、workers.propertiesのworker.listに「ajp13_original」を追加します。
この設定を行った場合、ドメインに配備している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-autoの箇所をconf に変更します。
修正前:
include "C:/WebOTX/domains/domain1/config/WebCont/mod_jk-24.conf-auto"
修正後:
include "C:/WebOTX/domains/domain1/config/WebCont/mod_jk-24.conf"
2) mod_jk-24.confの作成
<ドメインディレクトリ(domain1)>/config/WebCont/mod_jk-24.conf-autoをコピーしてmod_jk-24.confを作成します。
3) mod_jk-24.confの設定
mod_jk-24.confの中のuriworkermap.properties-autoの定義をuriworkermap.propertiesに変更します。
修正前:
JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties-auto"
修正後:
JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties"
4) uriworkermap.propertiesの作成
<ドメインディレクトリ(domain1)>/config/WebCont/uriworkermap.properties-autoをコピーしてuriworkermap.propertiesを作成します。
5) コンテキスト情報の追記
uriworkermap.propertiesにコンテキストパス(以下の{コンテキストパス}部分)とワーカのマッピングを記述します。コンテキストパスの前に "/" を付与します。
http://{host}:{port}/{コンテキストパス}/{コンテンツパス名等}
------------------------------------
/{コンテキストパス}={ワーカ名}
/{コンテキストパス}/*={ワーカ名}
------------------------------------
例えば、domain1にAAA、domain2にBBB のコンテキストパスでアクセスするアプリケーションを配備している場合次のようになります。
------------------------------------
/AAA=domain_1
/AAA/*=domain_1
/BBB=domain_2
/BBB/*=domain_2
------------------------------------
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
【確認済みのバージョン】V9
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】運用/設定