Tomcat、Apache連携してApacheを起動すると表示されるこの警告何ですのん
今回のプロジェクトでは、ApacheとTomcatの連携を行ってるんだけど、
Apacheを起動させたらこんな警告が表示されますた。
[warn] worker ajp://localhost:8009/ already used by another worker
こんな警告出てるけどTomcat側のコンテンツは見えてるし何やねんと思ってたら、
何の事はないしょーもないミスでした。
今回のApache、Tomcat連携はmod_jkとかではなくmod_proxy_ajpで連携させてます。
で、それぞれのソフトのバージョンは、
Apache 2.2.3
Tomcat 6.0.20
を使ってます。
Apacheはyumを使ってインストールしたので、
Tomcat連携用の設定ファイルである
/etc/httpd/conf.d
直下のproxy_ajp.confに対して設定してます。
で、連携確認だけしようと思ったのでデフォルトに用意されていた
#ProxyPass /tomcat/ ajp://localhost:8009/
#ProxyPass /examples/ ajp://localhost:8009/jsp-examples/
を両方コメント外したわけよ。
どうやらそれが悪かったみたいorz
で、
#ProxyPass /tomcat/ ajp://localhost:8009/
ProxyPass /examples/ ajp://localhost:8009/jsp-examples/
と片方をコメントアウトすると、、、
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
はい、無事に警告が表示される事無く起動しましたね。
そんなつまらない事だったとわ。。。
で、もう一歩調べて
#ProxyPass /tomcat/ ajp://localhost:8009/
ProxyPass /examples/ ajp://localhost:8009/jsp-examples/
ProxyPass /test/ ajp://localhost:8009/test/
で設定し直して、実行すると、、、
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
ありゃ、警告が発生しない、何でだ。。。
じゃあこれだとどうなる。
ProxyPass /tomcat/ ajp://localhost:8009/
#ProxyPass /examples/ ajp://localhost:8009/jsp-examples/
ProxyPass /test/ ajp://localhost:8009/test/
を設定して実行。
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ Nov 22 21:20:07 2009] [warn] worker ajp://localhost:8009/ already used by another worker [ OK ]
これだと警告が発生する。
どうやら、
ProxyPass /tomcat/ ajp://localhost:8009/
が関係してるっぽいな。
恐らくコンテキストルートが無いパターンのパス設定は複数設定すると警告が出るっぽい。
結局理由は分かんないけど、こういうもんだと思っとこう。
う〜ん納得出来ねぇorz
時間がある時に調べてみっかな。