UbuntuでApacheとTomcatを連携させる

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のログを見るべし。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です