tomcatが動かなくなりました。
最近、調子悪いなあ。
まあ、調子悪いというか、弄り過ぎなだけですけど。
まだ日の目を見ていませんが、
javaを使えるようにとtomcatを入れました。
5月半ばのこと。
だいぶ安定して動いていたんですがね。
今後の需要も考えて、
「apacheのmod_becomeモジュールのように、
tomcatのバーチャルホストを違うOSユーザで複数起動できないか?」
という企みが出て来たわけです。
今日午前中のこと。
どこを調べてもそんなモジュールはなさそう。
使えそうな情報は
「tomcatホームをコピーして、ポートを変えて
(違うユーザで)複数インスタンスを起動する」
と言う話。
どうもぱっとしません。
要するに、tomcatを2つインストールするみたいなもんでしょ?
サーバ圧迫するなあ。
何となく無駄な気もするし。
共通のjarとか、複数のインスタンスで
同じもの仲良く使えばいいじゃない。
コピーする意味あるの?
何となく腑に落ちないながらも
とりあえずコピー。
ユーザa用に/usr/local/tomcat_a
ユーザb用に/usr/local/tomcat_b
を作ってみました。
それぞれの~/.cshrcには
setenv CATALINA_BASE /usr/local/tomcat_(aかb)
を書いて、ブート時用には/etc/rc.localに
su -f a -c "exec /usr/local/tomcat_a/bin/catalina.sh start"
su -f b -c "exec /usr/local/tomcat_b/bin/catalina.sh start"
ってな感じ。
で、それぞれのserver.xmlの中のポートも
a:デフォルトのまま
b:a+10000
に変更。
apacheとの連携にはmod_jkを使ってますんで、
httpd.confのバーチャルホストのところもそれぞれ
/usr/local/tomcat_(aかb)/conf/workers.properties
に記述変更。
で、各デーモンの落とし上げはめんどくさいのでリブート。
どちらも起動はします。一応。
ですが、
http://aのバーチャルホスト/をブラウザから見ると
500のInternal Errorがでます。
tomcatの各種ログにはエラーが出ている形跡はありません。
apacheのエラーログに
「ワーカーが見つかりません」
的なエラーが上がっています。
はて。
コピー前は動いていたのに。
はて。
それぞれのworkers.propertiesのホームもあってるし。
ポートも直したし。
はて。
apacheもtomcatもプロセスはいっぱいあるから、
コンフィグは間違ってないんだよなあ。
はて。
やはり安易にインスタンスを分けるのは
マズかったかなあ。
時期尚早?勉強不足?
ってなことて、apacheもtomcatも一応動いて入るものの、
全く連携していません。
頼もう。お千恵拝借。
まあ、調子悪いというか、弄り過ぎなだけですけど。
まだ日の目を見ていませんが、
javaを使えるようにとtomcatを入れました。
5月半ばのこと。
だいぶ安定して動いていたんですがね。
今後の需要も考えて、
「apacheのmod_becomeモジュールのように、
tomcatのバーチャルホストを違うOSユーザで複数起動できないか?」
という企みが出て来たわけです。
今日午前中のこと。
どこを調べてもそんなモジュールはなさそう。
使えそうな情報は
「tomcatホームをコピーして、ポートを変えて
(違うユーザで)複数インスタンスを起動する」
と言う話。
どうもぱっとしません。
要するに、tomcatを2つインストールするみたいなもんでしょ?
サーバ圧迫するなあ。
何となく無駄な気もするし。
共通のjarとか、複数のインスタンスで
同じもの仲良く使えばいいじゃない。
コピーする意味あるの?
何となく腑に落ちないながらも
とりあえずコピー。
ユーザa用に/usr/local/tomcat_a
ユーザb用に/usr/local/tomcat_b
を作ってみました。
それぞれの~/.cshrcには
setenv CATALINA_BASE /usr/local/tomcat_(aかb)
を書いて、ブート時用には/etc/rc.localに
su -f a -c "exec /usr/local/tomcat_a/bin/catalina.sh start"
su -f b -c "exec /usr/local/tomcat_b/bin/catalina.sh start"
ってな感じ。
で、それぞれのserver.xmlの中のポートも
a:デフォルトのまま
b:a+10000
に変更。
apacheとの連携にはmod_jkを使ってますんで、
httpd.confのバーチャルホストのところもそれぞれ
/usr/local/tomcat_(aかb)/conf/workers.properties
に記述変更。
で、各デーモンの落とし上げはめんどくさいのでリブート。
どちらも起動はします。一応。
ですが、
http://aのバーチャルホスト/をブラウザから見ると
500のInternal Errorがでます。
tomcatの各種ログにはエラーが出ている形跡はありません。
apacheのエラーログに
「ワーカーが見つかりません」
的なエラーが上がっています。
はて。
コピー前は動いていたのに。
はて。
それぞれのworkers.propertiesのホームもあってるし。
ポートも直したし。
はて。
apacheもtomcatもプロセスはいっぱいあるから、
コンフィグは間違ってないんだよなあ。
はて。
やはり安易にインスタンスを分けるのは
マズかったかなあ。
時期尚早?勉強不足?
ってなことて、apacheもtomcatも一応動いて入るものの、
全く連携していません。
頼もう。お千恵拝借。
このネタへのコメント:
コメントはありません。