Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)

[目次][用語][索引][前へ][次へ]

4.3.4 実行環境での設定(Smart Composer機能を使用しない場合)

HTTPリクエストに含まれるURLパターンによってリクエストを振り分けることで,特定の処理だけをWebコンテナに実行させたり,複数のWebコンテナに処理内容に応じて振り分けたりできます。なお,URLパターンによる振り分けは,原則としてWebアプリケーション単位で振り分けます。URLパターンは,リダイレクタの動作として定義します。

<この項の構成>
(1) 設定の手順
(2) 設定例

(1) 設定の手順

URLパターンによるリクエストの振り分けは,次の手順で設定します。

  1. workers.propertiesでワーカを定義します。
    ワーカ名のリスト,ワーカのタイプ(「ajp13」を設定),ポート番号,ホスト名などを設定します。
    標準で提供されるworkers.propertiesには,デフォルト値が定義されています。コメントとして定義されているデフォルトの定義を使用する場合は,該当する行の先頭の「#」を削除してください。
    workers.properties(ワーカ定義ファイル)については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「9.5 workers.properties(ワーカ定義ファイル)」を参照してください。
  2. HTTP Serverを使用する場合は,mod_jk.confでURLパターンとワーカのマッピングを定義します。Microsoft IISを使用する場合は,uriworkermap.propertiesでURLパターンとワーカのマッピングを定義します。
    すでにマッピングが定義されている場合は,定義を削除,または置き換えてください。
    mod_jk.conf(HTTP Server用リダイレクタ動作定義ファイル)については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「9.3 mod_jk.conf(HTTP Server用リダイレクタ動作定義ファイル)」を参照してください。
    uriworkermap.properties(Microsoft IIS用マッピング定義ファイル)については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「9.4 uriworkermap.properties(Microsoft IIS用マッピング定義ファイル)」を参照してください。
  3. Webサーバの環境を設定して,Webサーバを再起動します。
    Webサーバの設定については,「付録B HTTP Serverの設定に関する注意事項」,または「付録C Microsoft IISの設定」を参照してください。

(2) 設定例

URLパターンでのリクエスト振り分けの例を次の図に示します。

図4-6 URLパターンでのリクエスト振り分けの例

[図データ]

この例では,ホストAにはWebアプリケーション「app1」,ホストBにはWebアプリケーション「app2」がそれぞれデプロイされています。処理したいWebアプリケーション名をリクエストのURLパターンに含めることで,「/app1/*」というURLパターンを持つリクエストはホストAで,「/app2/*」というURLパターンを持つリクエストはホストBで処理できるようにします。ホストAのワーカ名は「worker1」,ホストBのワーカ名は「worker2」です。

workers.propertiesの例を次に示します。ここでは,複数のWebコンテナへリクエストを振り分けるので,Webサーバに登録したリダイレクタに,複数のWebコンテナのワーカを振り分け先として指定します。

workers.propertiesの例(Windowsの場合)
worker.list=worker1,worker2
 
worker.worker1.port=8007
worker.worker1.host=hostA
worker.worker1.type=ajp13
worker.worker1.cachesize=64
 
worker.worker2.port=8007
worker.worker2.host=hostB
worker.worker2.type=ajp13
worker.worker2.cachesize=64
 

workers.propertiesの例(UNIXの場合)
worker.list=worker1,worker2
 
worker.worker1.port=8007
worker.worker1.host=hostA
worker.worker1.type=ajp13
 
worker.worker2.port=8007
worker.worker2.host=hostB
worker.worker2.type=ajp13
 

mod_jk.confおよびuriworkermap.propertiesの例を次に示します。ここでは,「/app1/*」というURLパターンと「worker1」,「/app2/*」というURLパターンと「worker2」とをマッピングします。

mod_jk.confの例(HTTP Serverの場合)
JkMount /app1/* worker1
JkMount /app2/* worker2

uriworkermap.propertiesの例(Microsoft IISの場合)
/app1/*=worker1
/app2/*=worker2