tomcat5の複数インスタンス動作を検証する。
rpmで入れたやつは、複数インスタンスには向いていないので、最新のブツをjakartaから落としてくる。
単純に、インターフェイスのportがバッティングしていなければ、マシンスペック上限で、いくつでもインスタンスを起動できるようだ。
ただし、jakarta純正(笑)のstart/shutdownスクリプトはイマイチで、二重起動や無起動シャットダウンの判定がよろしくない。
とは言え、深刻な不具合では無いので、次回のリリース版に期待しよう。
※そんなに難しくなので、暇があれば直してみたい
tomcat5とapacheの連携は、mod_jkが主流のようだが、あまりくわしく解説をしているサイトを見たことが無い。
※jakartaのサイトを超えるサイトは無いという意味
もっとも、起動することをターゲットにするのであれば、設定の方法を述べるだけで十分なのかもしれない。
近々では、mod_proxyを使用した連携もあるようだ。これは、設定はとても簡単なのだが、全てのリクエストをtomcat5に転送するので、apacheで連携する理由があまりない。
(apacheのリクエストログを独立して使える・・・ってくらいか)
mod_jk、mod_proxyいずれも、tomcat5をリブートした場合は、連携元のapacheも再起動する必要があると述べているサイトがほとんど。
たしかに、mod_proxyでは、無くなってしまったセッションに対して再接続するという機能が無いらしいので、apacheの再起動が必要なのだろう。
mod_jkでは、コネクタが独立して動くようで、再起動後の不安定な時期を過ぎると、apacheの再起動を伴わなくとも、見た目連携が持続している。
たしかに、mod_jkでは複数マシンにあるtomcat5に対しての連携機能もあり、act-act(別tomcatでセッションが引き継がれること)で連携できることから、tomcat5がリブートしても、問題ないのだろう。
あと、mod_jkでは、連携対象の拡張子やディレクトリを指定することができるため、apacheで静的コンテンツを表示させることが可能。
動的コンテンツの比率があまり高くないのであれば、静的コンテンツをapache側に配置して、mod_jkを使用したほうが、レスポンスは早いと思われる。