Ubuntu9.4でApache2とTomcat6を連携させた時の話。
久々にTomcatを触ってみました。というか、Adobeのオーぷソース、Blazedsのプッシュ配信機能に興味が出たのでTomcat3の以来久々に設定してみました。
で、ちょっと覚書。
昔はmod_jkという超不安定なアダプターを8009ポート経由でApache側との連携をとっていたことは覚えていたのですが、今もmod_jkなのね。workers.propatiesなのねと思っていたら、もっと簡単なものが出てるというか標準であるらしいのです。
/etc/apache/mods-availableにproxy_ajp.confを作成
<IfModule mod_proxy_ajp.c>
<Location /tomcat>
ProxyPass ajp://localhost:8009/tomcat
Order allow,deny
allow from All
</Location>
<Location “/examples”>
ProxyPass ajp://localhost:8009/examples
Order allow,deny
allow from All
</Location>
<Location “/manager”>
ProxyPass ajp://localhost:8009/manager
Order allow,deny
allow from All
</Location>
<Location “/admin”>
ProxyPass ajp://localhost:8009/admin
Order allow,deny
allow from All
</Location>
<Location “/jsp-examples”>
ProxyPass ajp://localhost:8009/jsp-examples
Order allow,deny
allow from All
</Location>
<Location “/servlet-examples”>
ProxyPass ajp://localhost:8009/servlet-examples
Order allow,deny
allow from All
</Location>
<Location “/ds-console”>
ProxyPass ajp://localhost:8009/ds-console
Order allow,deny
allow from All
</Location>
<Location “/blazeds”>
ProxyPass ajp://localhost:8009/blazeds
Order allow,deny
allow from All
</Location>
<Location “/samples”>
ProxyPass ajp://localhost:8009/samples
Order allow,deny
allow from All
</Location>
</IfModule>
proxy_ajp.conf<IfModule mod_proxy_ajp.c> <Location /tomcat>#<-コンテキスト名(/) ProxyPass ajp://localhost:8009/tomcat #<-tomcatでの実行URL Order allow,deny allow from All </Location> <Location "/examples"> ProxyPass ajp://localhost:8009/examples Order allow,deny allow from All </Location> <Location "/manager"> ProxyPass ajp://localhost:8009/manager Order allow,deny allow from All </Location> <Location "/admin"> ProxyPass ajp://localhost:8009/admin Order allow,deny allow from All </Location> <Location "/jsp-examples"> ProxyPass ajp://localhost:8009/jsp-examples Order allow,deny allow from All </Location> <Location "/servlet-examples"> ProxyPass ajp://localhost:8009/servlet-examples Order allow,deny allow from All </Location> </IfModule>Ubuntuなので、Apacheのモジュールを有効化。
a2enmod proxy proxy-ajp
/etc/ini.d/tomcat6 restart
/etc/ini.d/apache2 restartとすれば連携できてるはず。
うまく動いてないときはApacheのログを見るべし。