BLOG
ブログ

Apache HTTPD

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の通信を受け付ける。

また、UseBodyEncodingForURI、URIEncodingを入れていないと文字化けを起こす場合がありますので こちらの属性が抜けている場合は忘れず追加しておきましょう。

   上記の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の連携ができるようになりました。