Tomcat6.0x
最近、離れていたサーバ構築環境に手を出すようになった。
Tomcat4.xx と、Apache2.0x の時代から浦島効果を催す。
まずはTomcat とApache の連携。
以前の環境では、自分で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が、TomcatのCGIで動作しなかったのだ。
CGIはPerlで書かれていて、内部でsystem関数を使用して居やがって。
TomcatCGIではエラーになってしまう。
だれか教えてくれないだろうか・・・(頼みますorz)
最後にやってしまったこと。
Tomcat で、webapps直下にhoge.war を置いておくと勝手にディレクトリが
作成され、warが展開されます。
ところがTomcatを再起動する度に、このwar からのデプロイが行われる。
(そうcatalina.outに出ている)
うざい! とか思って。
ディレクトリが作成されているのだから、warは不要だろうと削除すると・・・
Tomcat は賢く、「war が退かされた。もう入らないアプリなんだね!!」と、
言わんばかりに、作成されているディレクトリも削除しますorz
ええ、Tomcatさんが作ったディレクトリですもの。
Tomcatさんが削除したところで何の問題も無いのですが。
残ってくれると思っていた私にはびっくりですよ!!!
教訓。
war で展開されているものは、warファイルが邪魔に感じても削除してはいけない。