WindowsでApache 2.4.18とTomcat8.0.32を連携させる
WindowsでApacheをフロントエンドとしてTomcatと連携出来るよう設定を行います。
環境
設定する環境は、次の環境で確認しています。
- Windows7(64bit)
- Apache 2.4.18
- Tomcat 8.0.32
Apacheのインストールについては、「WindowsへApache2.4.18をインストールする」にまとめてあります。
また、Tomcatのインストールについては、「WindowsへTomcat8.0.32をインストールする」にまとめてあります。
Apache 2.4.18とTomcat 8.0.32の設定
Tomcatには、HTTPサーバーとしての機能も持っていますがHTTPリクエストはApacheが受けTomcatで処理された結果をApacheが返すように設定します。
ApacheとTomcatの間は、mod_proxy_ajpモジュールによって受け渡しが行われます。
Apache側の設定(httpd.conf)
Apacheをインストールしたフォルダ配下の「conf」フォルダにあるhttpd.confに記述されているmod_proxy_ajpモジュールの設定を有効にします。
デフォルトでは、コメントアウトされているので、mod_proxy_ajp.soとmod_proxy.soのコメントアウトを削除します。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
mod_proxy_ajpモジュールの設定ファイルを読み込むよう次の設定を追加します。
Include conf/extra/httpd-proxy-ajp.conf
※ここでは、mod_proxy_ajpモジュールの設定ファイルをApacheのインストールフォルダにある「conf\extra」フォルダにhttpd-proxy-ajp.confファイルを作成するものとします。
サーブレットへのリクエストがあった場合の設定をhttpd-proxy-ajp.confへ作成します。
例えば、「http://ドメイン名/docs/」へリクエストがあった場合、Tomcat側の「docs」が呼び出されるよう次のように設定します。
# httpd-proxy-ajp.confの中に記述
<Location /docs/>
ProxyPass ajp://127.0.0.1:8009/docs/
</Location>
設定に問題がないか、コマンドプロンプトから次のコマンドで確認します。
httpd.exe -t
「Syntax OK」と表示されればApache側の設定は完了となります。
Tomcat側の確認と設定
Tomcatの設定は、デフォルトで問題ないと思いますがajpコネクタの設定が有効になっているか、ポート番号が8009になっているかを確認します。
Tomcatをインストールしたフォルダにある「conf」フォルダにserver.xmlファイルがあります。
このserver.xmlに次の設定がされているか確認します。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Tomcatのデフォルトポート(ポート番号8080)が有効になっているので、次の設定をコメントアウトします。
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
以上でTomcatの設定は完了です。
動作確認
TomcatとApacheを起動します。任意のブラウザーを起動し、アドレスに「http://localhost/docs/」と入力します。
次の画面が表示されれば、Apacheの待ち受けポートであるポート番号80からTomcatへ連携出来ていることが確認できます。
ここまでで、ApacheとTomcatの連携設定は完了です。