BLOG
ブログ

2019.01.31

[CentOS6.10] Apache2とTocat7の連携

ApacheとTomcatの連携をする目的は、インターネットからのリクエストはhttpdで受けJavaで動的に制御する部分はTomcatで行わせたいためです。

Apache httpdはやはりWebサーバとしては強力ですからね。

ApacheとTomcatと連携するのに必要なものは、AJP(Apache Jserv Protocol)というプロトコルです。
AJPはTomcatと通信するためのプロトコルで2019年現在は1.3が最新のようです。

Apacheが受け付けたリクエストをTomcatへ通信するのに AJPプロトコルを利用します。
ApacheでAJPを利用するには、 mod_proxy_ajpを有効にします。

 

(1)TOMCATの設定確認

以下のような設定になっています。
確認だけで何もしなくてもOKだと思います。

/usr/share/tomcat/conf/server.xml
( /etc/tomcat/server.xml )

この設定の意味は、以下の通りです。

・ポート8080で、HTTP/1.1の通信を受け付ける。
・ポート8009で、AJP/1.3の通信を受け付ける。

上記の8080の設定があるために以下のURLのようにTomcatの管理画面にアクセスすることができます。
http://(IPアドレス:8080)/manager/html

※8080ポートのtomcat管理画面を公開しないなら
この 8080ポートの設定を削除する事を忘れないでください。

 

(2)Apache httpdの基本設定

以下の2つのモジュールが有効になっていることを確認します。
おそらくデフォルトで有効になっていると思いますが、コメントアウトなどされている場合は外して有効にしましょう。

 

(3)AJP通信の設定

/etc/httpd/conf.d ディレクトリに proxy_ajp.confというファイルを作成します。
「conf.d」ディレクトリに ○○○.confという形でファイルを作成すると
自動的に設定ファイルとして読み込んでくれます。
ajp関連の設定は全てこの proxy_ajp.confにまとめることにします。
どのようなパスにアクセスされたら Tomcatと連携するのかを設定します。

sampleディレクトリへのアクセスを Tomcatのtestアプリと連携したい場合は
次のようになります。

以下のような書き方もできます。

 

(4)httpdの再起動

以上でApache httpdとtomcatの連携ができるようになりました。