OSS Fan ~OSSでLinuxサーバ構築~

このエントリーをはてなブックマークに追加

ApacheとTomcatのAJPプロトコルでの接続設定

カテゴリ:OSSセットアップ | ソフトウェア:Apache | タグ:
最終更新日:2020/11/02 | 公開日:2011/06/05

目次

概要

 Apache単体で構築したWebサーバの場合、原則として静的コンテンツしか表示することができません。 これはApacheで動的なページを生成するためのサーバサイドプログラムを実行することができないためです。 しかしApacheにはPHPやPerl、SSIなどのサーバサイドプログラムを実行するための拡張モジュールが 準備されており、Apacheにこれら拡張モジュールをロードすることで動的なページを生成することが できるようになります。

 ただしJava(Servlet/JSP)についてはヒープメモリの管理など複雑な処理が必要となるため、 Apacheの1モジュールとして拡張可能な機能の範囲を超えています。 そこでJavaのプログラムの実行は専用のアプリケーションサーバであるTomcatで処理することとし、 Apacheからは必要なときにTomcatへアクセスを中継します。そしてTomcatが生成した動的コンテンツを Apacheがクライアントへ返します。

 今回はTomcatの処理について詳細は割愛し、ApacheからTomcatへアクセスを中継するための Apacheの設定について紹介します。ApacheからTomcatへ接続する際にはAJP(Apache Jserv Protocol)という プロトコルを使用します。

構成

想定環境

サーバ構成

OSバージョン

CentOS release 5.5 (Final) x86_64

パッケージ一覧

Apacheインストール+イントラネット向け設定Apacheインストール+SSL証明書作成+SSL設定でApacheを インストールしていれば、特に追加のパッケージは必要ありません。 今回は以下のパッケージがインストールされている環境で動作確認しています。
apr-1.2.7-11.el5_3.1.x86_64.rpm
postgresql-libs-8.1.18-2.el5_4.1.x86_64.rpm ・・・apr_utilが依存
apr-util-1.2.7-11.el5.x86_64.rpm
httpd-2.2.3-43.el5.centos.x86_64.rpm
~~~~~ここまでインストールされていればTomcatとの連携可能~~~~~
php-common-5.1.6-27.el5.x86_64.rpm ・・・PHPの実行に必要、php-mbstringが依存
php-mbstring-5.1.6-27.el5.x86_64.rpm ・・・PHPの実行に必要
gmp-4.1.4-10.el5.x86_64.rpm ・・・PHPの実行に必要、phpが依存
php-cli-5.1.6-27.el5.x86_64.rpm ・・・PHPの実行に必要、phpが依存
php-5.1.6-27.el5.x86_64.rpm ・・・PHPの実行に必要
distcache-1.4.5-14.1.x86_64.rpm ・・・SSL対応で必要、mod_sslが依存
mod_ssl-2.2.3-43.el5.centos.x86_64.rpm ・・・SSL対応で必要

TomcatはTomcat6インストール+初期設定に 従ってインストールされているものとします。

クライアント構成

OSバージョン

Windows 7 Ultimate 64bit

ソフトウェア一覧

Internet Explorer 8

環境構築

インストール

 追加でインストールするものは特にありません。

 ApacheからTomcatへリクエストを連携する際にはAJP(Apache Jserv Protocol)という プロトコルを使用します。 CentOS 5.5(RHEL 5.5も同様)ではApache(httpdパッケージ)をインストールすると AJP関連のモジュールも一緒にインストールされます。

設定

 AJPの設定は(/etc/httpd/conf.d/proxy_ajp.conf)にまとめられています。 今回は http://ドメイン名/tomcat/ にアクセスするとApacheからTomcatにリクエストを連携します。 Tomcatではまだアプリケーションをデプロイしていないので、デフォルト画面が表示されます。 TomcatはApacheと同じサーバ上で起動しており、AJP用のポートは8009ポートとします。

HTTPサーバの設定

 viエディタで設定ファイル(proxy_ajp.conf)を開き、設定を変更します。

# cd /etc/httpd/conf.d/
# vi proxy_ajp.conf
ファイル名:/etc/httpd/conf/httpd.conf
※ファイルの末尾に追加※
ProxyPass /tomcat/ ajp://localhost:8009/

 以上で設定が終了しましたのでrcスクリプトを使用してデーモンを再起動します。

# /etc/rc.d/init.d/httpd restart
Stutting down httpd:                                       [  OK  ]
Starting httpd:                                            [  OK  ]

設定ファイル

 /etc/httpd/conf.d/proxy_ajp.conf

動作テスト

Tomcatと連携した後の画面の表示確認

 Webブラウザで http://ドメイン名orサーバのIPアドレス/tomcat/ へアクセスし、 以下のような画面が表示されることを確認する。