Apache2.2とTomcat6.0の連携

2010年08月12日 22時13分 Apache, Tomcat • Tags: ,



Apache2.2とTomcat6.0の連携について説明します。

  • OS:Windows 7 Professional 64bit
  • Apache:2.2.16 (32bit)
  • Tomcat:6.0.29 (64bit)

ここではmod_jkによる連携方法と、mod_proxy_ajpによる連携方法を紹介します。なお、Windows7で設定する場合、管理ユーザでもProgram Files配下のファイルの更新権限が無くファイルの更新ができない場合もありますのでご注意ください。この場合、一度別のフォルダでファイルを修正し、元のフォルダに戻してください。

■mod_jk

従来からの方法です。

1. mod_jkモジュールをダウンロードします。配布サイトから対象のApacheのバージョンのmod_jkモジュール(mod_jk-1.2.30-httpd-2.2.3.so)を探します。

 
2. mod_jkモジュール(mod_jk-1.2.30-httpd-2.2.3.so)をmod_jk.soに名前を変更し、Apacheのmodulesフォルダに配置します。

  • 配置先:{Apacheフォルダ}\modules
  • 配置ファイル:mod_jk.so

 
3. Tomcatのconf\server.xmlの設定を確認します。デフォルト設定では、プロトコル8009番で受けた通信をAJP/1.3として処理し、セキュア通信の場合は8443に転送します。

  • 対象ファイル:{TOMCATフォルダ}\conf\server.xml
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 
4. ApacheとTomcatの連携情報の定義ファイル(workers.properties)を作成します。作成場所は管理のしやすい場所で構いませんが、Apacheのモジュールで読み込むファイルなので、今回はApacheのconfフォルダ配下に作成します。

  • 配置先:{Apacheフォルダ}\conf
  • 作成ファイル:workers.properties
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost

  
5. ApacheにTomcatと連携するための情報をhttpd.confへ追加します。情報は今回の環境(筆者ローカル環境)に合わせて作成しています。

LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>
    JkWorkersFile    "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\workers.properties"
    JkLogFile        "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\mod_jk.log"
    JkMount          /examples/*    ajp13
</IfModule>

 
6. Tomcat, Apacheを起動します。http://localhost/examples/にアクセスし、Tomcat側のページ(http://localhost:8080/examples/)にアクセスできることを確認します。

■mod_proxy_ajp

Apache2.2から利用可能な設定方法です。

1. Tomcatのconf\server.xmlの設定を確認します。デフォルト設定では、プロトコル8009番で受けた通信をAJP/1.3として処理し、セキュア通信の場合は8443に転送します。

  • 対象ファイル:{TOMCATフォルダ}\conf\server.xml
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 
2. ApacheにTomcatと連携するためのhttpd.confを修正し、モジュールを有効にします。有効にするモジュールはmod_proxy.soとmod_proxy_ajp.soです。

  • 対象ファイル:{Apacheフォルダ}\conf\httpd.conf
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

 
↓ コメントアウトを外し、ロードさせます。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

 
3. 連携するURLをhttpd.confに記述します。

  • 対象ファイル:{Apacheフォルダ}\conf\httpd.conf
<IfModule mod_proxy_ajp.c>
    <Location /examples/>
        ProxyPass ajp://localhost:8009/examples/
    </Location>
</IfModule>

 
4. Tomcat, Apacheを起動します。http://localhost/examples/にアクセスし、Tomcat側のページ(http://localhost:8080/examples/)にアクセスできることを確認します。 



One Response to “Apache2.2とTomcat6.0の連携”

  1. […] Apache2.2とTomcat6.0の連携 | hrtdotnet.jp. […]

Leave a Reply

preload preload preload