失敗
バイナリ形式の JK2 コネクタを使用して、JBoss と Apache の連携させようとしたところ、ものの見事に失敗。
何度繰り返しても、ブラウザは『ページを表示できません。』と表示するばかり。 結局、ソースコードのコンパイルからはじめました。
環境
このレポートは、以下の環境について記述したものです。
| OS | SUSE Linux 9.1 |
| AP サーバ | JBoss 3.2.6 |
| Web サーバ | Apache 2.0.52 |
| 接続モジュール | JK 2 2.0.4 (ソースコード版) |
解決策
JK2 ソースコードを使用して、JBoss と Apache を連携させます。
(1) JK2 のコンパイル
まず、JK2 のソースファイル (jakarta-tomcat-connectors-jk2-src-current.tar.gz) を解凍します。
解凍後、コンパイルします。
./configure --with-apxs2=/usr/local/apache2/bin/apxs
make
インストールします。
(2) mod_jk2 を Apache のモジュール・ディレクトリにコピー
コンパイルした JK2 モジュールを Apache のモジュール・ディレクトリにコピーします。
(3) http.conf の修正
Apache の httpd.conf を修正し、JK2 モジュールを組み込みます。
LoadModule jk2_module modules/mod_jk2.so
(4) workers2.properties の作成
JK2 の設定ファイルである workers2.properties を作成します。
[logger.file:0] level=ERROR file=/usr/local/apache2/logs/jk2.log [channel.socket:localhost:8009] info=Ajp13 forwarding over socket [uri:/*] [status:] [uri:/jkstatus/*] group=status: [shm:] disabled=1
(5) workers2.properties を conf ディレクトリにコピー
作成した workers2.properties を <APACHE_HOME>/conf ディレクトリに配置します。
補足
■ Apache から JBoss へ転送するリクエストの制御方法
Apache から JBoss へ転送するリクエストは workers2.properties の [uri:xxx] で指定します。
# (例1) 全てのリクエストを JBoss に転送します。 [uri:/*] # (例2) aaa/以下の全てのリクエストを JBoss に転送します。 [uri:/aaa/*] # (例3) JSPへのリクエストを JBoss に転送します。 [uri:/*.jsp] # (例4) Strutsへのリクエストを JBoss に転送します。 [uri:/*.do]
