Tomcat6.0x

最近、離れていたサーバ構築環境に手を出すようになった。

Tomcat4.xx と、Apache2.0x の時代から浦島効果を催す。

まずはTomcatApache の連携。
以前の環境では、自分でmod_jserv?(mod_jk?)とかをコンパイルしなければならなかったが。
現在のTomcat6.0x と、Apache2.2x では、すんなり簡単導入できる。

CentOS5.x でApache を導入すれば追加のjar などは必要ない。
httpd.conf の中で以下の2行をコメントアウトするだけ。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so




後は、別途Tomcatとつなげるlocationを追記する。
記述場所は、httpd.conf の最後の方でも良いらしいが、最近は
conf/extra/httpd-proxy.conf に書くのが作法らしい。


ProxyPass ajp://IPアドレス:8009/examples/





Tomcat6.0x は、解凍して設置すれば終わり。
ajpコネクタの設定が既に記述され、有効に成っているから)

webapp/examples があれば、http://IPアドレス/examples/ で
Tomcat付属のサンプルが参照できる。






もちろんインターネットに公開する場合、このままでは拙いが、
とりあえず矢面はApacheに任せると言う事が可能になる。


##此処からは・・・ちょっと愚痴?
本当は、TomcatのみでCGIも動かしたかったのだが・・・
Apacheで動作しているCGIが、TomcatCGIで動作しなかったのだ。
CGIPerlで書かれていて、内部でsystem関数を使用して居やがって。
TomcatCGIではエラーになってしまう。

だれか教えてくれないだろうか・・・(頼みますorz)




最後にやってしまったこと。
Tomcat で、webapps直下にhoge.war を置いておくと勝手にディレクトリが
作成され、warが展開されます。

ところがTomcatを再起動する度に、このwar からのデプロイが行われる。
(そうcatalina.outに出ている)

うざい! とか思って。
ディレクトリが作成されているのだから、warは不要だろうと削除すると・・・
Tomcat は賢く、「war が退かされた。もう入らないアプリなんだね!!」と、
言わんばかりに、作成されているディレクトリも削除しますorz

ええ、Tomcatさんが作ったディレクトリですもの。
Tomcatさんが削除したところで何の問題も無いのですが。
残ってくれると思っていた私にはびっくりですよ!!!




教訓。
war で展開されているものは、warファイルが邪魔に感じても削除してはいけない。