HOMEインデックス

自宅サーバー構築記


27. ApacheとTomcatの連携

a. はじめに

  • apacheとTomcatを連携させるのためにmod_Jk2をインストールした。mod_Jk2を使用した連携の形態として「TCPソケットを使用した連携」「Unixドメインソケットを使用した連携」「インプロセス形態による連携」があるが今回は設定が一番簡単そうな「TCPソケット連携」を試してみた。tomcatは5.0.28,apacheは1.3.29を使用している。

b. コネクタモジュールのインストール

  • ダウンロードもとはhttp://jakarta.apache.org/site/sourceindex.cgiのJK2 2.0.4 Source Release tar.gz。ファイル名はjakarta-tomcat-connectors-jk2-current.tar.gz。展開するとjakarta-tomcat-connectors-jk2-2.0.4-srcというディレクトリが作成される。

tar xzvf jakarta-tomcat-connectors-jk2-current.tar.gz

c. aprとapr.utilのダウンロード

  • mod_jk2を作成するとき必要になるapr(apache portable runtimeというらしい)とapr.utilをダウンロード。バージョンは0.95。展開してインストール。インストールは両方とも以下のコマンド。ちなみにapache2の場合は不要らしい。

./buildconf
./configure
make
make install

d. mod_Jk2の作成

  • 以下のコマンドでmod_jk2.soを作成した。モジュールは/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache13に作成される。

cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
./buildconf.sh
./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/src/apr-0.9.5 --with-util=/usr/local/src/apr-util-0.9.5

e. mod_Jk2のコピーとapacheのconf/httpd.confの修正

  • 作成されたmod_jk2.soを/usr/local/apache/libexecにコピー。apacheのconf/httpd.confに以下の行を追加する

Loadmodule jk2_module libexec/mod_jk2.so
Addmodule mod_jk2.c

f. workers2.properties

  • /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/confに作成されたworkers2.propertiesをapacheのconfにコピーし以下のように修正する。これによってhttp://localhost/examples/xxx.jspと指定するとtomcatによって処理されるようになる。

[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
debug=0
tomcatId=localhost:8009

[channel.socket:localhost:8019]
info=A second tomcat instance.
debug=0
tomcatId=localhost:8019
lb_factor=1
group=lb
group=lb_1
disabled=0

[uri:/examples/*]
info=comment

[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=/usr/local/apache/logs/jk2.shm
size=1000000
debug=0

g. tomcatとapacheの再起動

  • 再起動はtomcat→apacheの順がいいらしい。

HOMEインデックス