tomcat5 がうまくいかなくてちょっとハマったのでメモ。
tomcat5 をインストールして設定もちゃんとやったはずなのに動かない。
事象。
- netstat するとポート8080 と8005は動いているっぽい。
- ポート8080は待ちうけているけど、ブラウザで表示できない。(エラー503)
- 「ProxyPass /hoge/ ajp://localhost:8009/hoge/」の設定はした。
エラーの内容。
[Sun Sep 02 12:01:46 2012] [error] ap_proxy_connect_backend disabling worker for (localhost) [Sun Sep 02 12:01:46 2012] [error] proxy: AJP: failed to make connection to backend: localhost
むう。これだけなら SELINUX 絡みのエラーじゃないかと疑ってみたけど selinuxを切ってもダメ。そもそも 8080ポートでは動いているし…
tomcat のログを確認してみる。
致命的: Parse Fatal Error at line 6 column 6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
[xX][mM][lL] ってなんじゃい???
ってわけで Google 先生にお伺いしたところ
XMLの1行目は必ず宣言文にしなはれ
という天からのお声を拝聴。
/etc/tomcat/tomcat-user.xml を確認すると確かにコメント()から始まってた orz
コメントを消して一行目が「<?xml~」の宣言文になるよう修正したら、あっけなく動きましたとさ。
<?xml version=’1.0′ encoding=’utf-8′?>