May 31, 2009

[Maven] Continuum と Apache HTTP Server + AJP 経由で呼び出す

Continuum は Jetty を内包しており、自前で Web サーバ機能を提供している。 今回は Apache HTTP Server から AJP 経由で Jetty を呼び出す方法をメモ。 使用した Continuum のバージョンは 1.2.3 で、同梱の Jetty は 6.1.11。

Continuum
http://continuum.apache.org/
Jetty
http://jetty.mortbay.com/jetty/

設定方法

既に Continuum 1.2.3 がインストールされており、起動可能な状態になっていることが前提。 Continuum がインストールされているディレクトリを $CONTINUUM_HOME と記述する。 実際に設定した環境は Debian Etch + JDK 1.5.0。

Continuum に Jetty の AJP モジュールを組み込む

Continuum に同梱されている Jetty には AJP 用のモジュールが含まれていない。 そのため、別途 Jetty をダウンロードしてモジュールを入手し、組み込む必要がある。

Jetty 6.1.11
http://dist.codehaus.org/jetty/jetty-6.1.11/
ダウンロードした ZIP に含まれている jetty-ajp-6.1.11.jar を $CONTINUUM_HOME/lib にコピーする。

Jetty の設定変更

$CONTINUUM_HOME/conf/jetty.xml の以下の 2 箇所を変更する。

以下の <Call name="addConnector"> をコメントアウト。

<!-- Use this connector for many frequently idle connections
     and for threadless continuations.
-->   
<!-- START SNIPPET: jetty_port -->
<!--
<Call name="addConnector">
  <Arg>
      <New class="org.mortbay.jetty.nio.SelectChannelConnector">
        <Set name="host"><SystemProperty name="jetty.host" /></Set>
        <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
        <Set name="maxIdleTime">30000</Set>
        <Set name="Acceptors">2</Set>
        <Set name="statsOn">false</Set>
        <Set name="confidentialPort">8443</Set>
        <Set name="lowResourcesConnections">5000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
      </New>
  </Arg>
</Call>
-->
<!-- END SNIPPET: jetty_port -->

以下を追記。

<Call name="addConnector">
  <Arg>
    <New class="org.mortbay.jetty.ajp.Ajp13SocketConnector">
      <Set name="port">8009</Set>
    </New>
  </Arg>
</Call>
変更完了後に Continuum を再起動する。

Apache HTTP Server の設定変更

httpd.conf に以下を追記(実際には、各環境に合わせた /etc/apache2/sites-available 内のファイル)。

<Location "/continuum">
  ProxyPass ajp://localhost:8009/continuum

  Order allow,deny
  allow from all
</Location>
変更完了後に Apache HTTP Server を再起動する。

設定変更の確認

http://example.com/continuum に Web ブラウザで接続する。

Posted in Maven | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |