ApacheとTomcatの連動

前提条件:VineLinux4.1、Apacheのバージョンは2.2.3、Tomcatのバージョンは5.5.23を使っている。


ApacheTomcatの連動の手段として、

  • mod_jk1.2
  • mod_jk2
  • mod_proxy-ajp

が使える。
今回は一番オーソドックスなmod_jk1.2を使う。
mod_jk1.2はTomcatの公式サイトの[Download]->[Tomcat Connectors]からダウンロードできる。
mod_jkのバージョンは1.2.23を使った。
ダウンロードしたら、/etc/apache2/modules*1に置く。

ln -s download-mod_jk.so mod_jk.so

この作業でmod_jk.soというシンボリックリンクを作成しておくとバージョンアップの時に楽になる。
次にApacheの設定ファイル(/etc/apache2/conf/httpd.conf)をテキストエディッタで開く。

Include conf.d/*.conf

もうすでにある場合は次に進み、がなければ追加して、conf.d/というフォルダも作成しておく。
この作業は変更する設定ファイルを分割して、管理しやすくするためである。
そして、/etc/apache2/conf.d/にjk.confと workers.propetiesというファイルを作っておく。
jk.confをテキストエディッタで開き以下のように書き込む。

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf.d/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"
JkMount /* ajp13

これでリクエストはすべてTomcatに転送されるようになる。
次にworkers.propetiesテキストエディッタで開き以下のように書き込む。

worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

これでApacheを起動し、エラーがでなければOK。
そして、http://localhost/をブラウザで見て、Tomcatのページが見えれば完了。

*1:要はApacheのmoduleが置いているフォルダ