profaim  >  関連ソフトウェア  >  開発ソフトウェア  >  Tomcat(APサーバ)  >  Tomcat5.5セットアップ(Linux)  >  Tomcat5.5 Apache連携

Tomcat 5.5.25 Tomcat Connectors による Apache との連携

記載日:2007/12/28
Red Hat Linux 9 Tomcat 5.5.25 JDK 5.0 Update13 Apache 2.2.2 Tomcat Connectors 1.2.25

1.Tomcat を Apache と連携させて使用する

1-1.Tomcat と Apache

アプリケーションサーバである Tomcat は、ウェブサーバの機能も持っているのですが、ウェブサーバとしての性能はあまり高くないそうです。そのためウェブサーバも使用する運用では、オープンソースの Apache や Microsoft の IIS などのウェブサーバと連携させて使用するケースが一般的だそうです。通常のリクエストはウェブサーバに、必要なリクエストについてはアプリケーションサーバへ処理を委ねる形になります。

今回は Linx 上にインストール済みの Tomcat 5.5.25 と Apache 2.2.2 を連携させる方法を紹介します。 Tomcat と Apache の連携には Tomcat Connectors 1.2.25 を使用しました。 Tomcat も Apache も Tomcat Connectors もすべて  Apache Software Foundation ( http://www.apache.org/ )  で公開されているものなので相性もいいはずです。

Tomcat をインストールしていない場合は  Tomcat 5.5.25 インストール  を、Apache をインストールしていない場合は  Apache 2.2.2 インストール(Linux)  を参考にインストールしておきましょう。

1-2.今回の使用環境

インストールはスーパーユーザで行いました。また、今回は以下の設定で実行しました。

No. 設定項目 設定値
1
Tomcat Connectors ソースのダウンロード先 /home/profaim/src
2
ダウンロードした Tomcat Connectors のファイル名 tomcat-connectors-1.2.25-src.tar.gz
3
連携する Apache のインストール先 /usr/local/apache2/
4
Tomcat のインストール先 /usr/local/apache-tomcat-5.5.25
5
Apache の稼働パス http://192.168.188.1/
6
Tomcat の稼働パス http://192.168.188.1:8080/

2.Tomcat Connectors のビルド

2-1.Tomcat Connectors のダウンロード

Tomcat Connectors のダウンロードは  Apache Software Foundation の Tomcat プロジェクト ( http://tomcat.apache.org/ )  から 「Download」 メニューにある 「Tomcat Connectors」 のリンクをクリックし、その先の「Download the JK 1.2.25 release sources」 をクリックします。

Windows 環境でダウンロードして Linux へ FTP 転送してもいいですし、 Linux 上の XWindow 上のウェブブラウザでダウンロードしてもいいですが、wget などのコマンドが使用できるならコマンドラインでダウンロードすることもできます。以下に /home/profaim/src ディレクトリに Tomcat Connectors のソースをダウンロードする例を紹介しておきます。

$ cd /home/profaim/src
$ wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.25/tomcat-connectors-1.2.25-src.tar.gz

2-1.Tomcat Connectors ビルド・インストール

ダウンロードしておいた Tomcat Connectors(tomcat-connectors-1.2.25-src.tar.gz) が /home/profaim/src にあるとして、以下のコマンドでビルドとインストールを行います。

$ cd /home/profaim/src
$ tar zxvf tomcat-connectors-1.2.25-src.tar.gz
$ cd tomcat-connectors-1.2.25-src
$ cd native
$ ./configure --with-apxs=/usr/local/apache2/bin/apxs
$ make
$ su -c 'make install'
Password:
$

エラーが発生しなければ Tomcat Connectors のビルドは完了です。

3.Tomcat Connectors の Apache への組み込みと設定

3-1.Apache への組み込み前の確認

Apache に mod_jserv という古い Tomcat連携モジュールが組み込まれている場合は、事前にアンインストールが必要ということです。 Tomcat Connectors の mod_jk は mod_jserv の後継といことになります。今回は Apache から新規にインストールしたこともあり組み込まれていなかったので、詳しいアンインストール方法は調べていませんが、 tomcat-apache.conf や tomcat.conf で設定している人が該当するらしいので、これらのファイルが存在する人は調べてみましょう。

3-2.mod_jk モジュールを Apache へ配置

Tomcat Connectors のモジュールである mod_jk.so を Apache の module ディレクトリにコピーします。 Tomcat Connectors をビルドしインストールしたタイミングで配置されている場合もあるので、以下のコマンドで mod_jk.so が存在することを確認しましょう。 実行して mod_jk.so がリスト表示されたらインストール済みなので、改めて配置する必要はありません。 Apache は /usr/local/apache2 にインストールされているとします。モジュールはそこから ./modules の位置に配置されています。

$ ls -l /usr/local/apache2/modules | grep mod_jk

存在していない場合は、以下のコマンドで配置します。  Tomcat Connectors は /home/profaim/src/tomcat-connectors-1.2.25-src 上でビルドしたとし、 Apache は上と同様に /usr/local/apache2 にインストールされているとしています。 また、併せて workers.properties もインストールします。

$ cd /home/profaim/src/tomcat-connectors-1.2.25-src
$ cp -p ./native/apache-2.0/mod_jk.so /usr/local/apache2/modules/
$ cp -p ./conf/workers.properties /usr/local/apache2/conf/

3-3.Apache の設定ファイル編集

mod_jk.so モジュールを ./modules へ配置したら、./conf にある設定ファイル(httpd.conf )を編集します。 まず、以下のコマンドで設定ファイルをエディタで開きます。 もちろんエディタは何を使っても問題ありません。

$ vi /usr/local/apache2/conf/httpd.conf

エディタで設定ファイル(httpd.conf)を開いたら、LoadModule の設定が並んでいる場所を探して以下の1行を追加します。

LoadModule jk_module modules/mod_jk.so

あとは、設定ファイルの末尾にでも、以下の設定を追加します。JkWorkersFile には、先ほど配置した workers.properties へのパスを、 JkLogFile には mod_jk が出力するログファイルのパス、 JkLogLevel にはログの詳細度、 JkLogStampFormat には出力するログのフォーマットを指定します。 ログ関連の設定についてはこだわらないならそのまま設定しておけばいいと思います。

JkMount の設定は重要で、 Apache のどのパスへのリクエストを Tomcat へ委譲するかを設定します。以下では /servlets-examples/servlet/ のパスと /servlets-examples/ に配置された JSP ファイルを Tomcat へ委譲する設定になります。 ajp13 は workers.properties に設定されており、 Tomcat へ委譲する設定がされています。 JkMount は必要に応じて複数設定します。

JkWorkersFile /usr/local/apache2/conf/workers.properties
JkLogFile /usr/local/apache2/log/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /servlets-examples/servlet/* ajp13
JkMount /servlets-examples/*.jsp ajp13

4.Tomcat Connectors 動作確認

4-1.確認準備

Tomcat  Connectors が正しく動作していることを確認するには、まず Tomcat と Apache を起動します。 以下の手順でなくとも普段の手順で起動させれば問題ありません。 Tomcat のインストール先は /usr/local/apache-tomcat-5.5.25 、Apache のインストール先は /usr/local/apache2/ とします。

Tomcat 起動
# cd /usr/local/apache-tomcat-5.5.25/bin
# ./catalina.sh start

Apache 起動
# cd /usr/local/apache2/bin
# ./apachectl start

4-2.動作確認

Tomcat のインストール時にインストールしたサンプルであり、設定にも記述した servlets-example の Servlet を使用して動作確認を行いました。Tomcat 経由でアクセスする場合(http://192.168.188.1:8080/)と同様に Apache 経由(http://192.168.188.1)でも Servlet にアクセスできることを確認します。

まず、Tomcat へアクセスして表示されるべきページを確認します。 http://192.168.188.1:8080/servlets-examples/servlet/RequestHeaderExample へアクセスして表示される内容を確認しておきます。次に、Apache へアクセスしてページを確認します。 http://192.168.188.1/servlets-examples/servlet/RequestHeaderExample へアクセスし、先ほどの表示内容と同じことを確認します。

これで確認は完了なのですが、本当に Apache へリクエストが送信され mod_jk が稼働していることを確認したい場合は、以下のコマンドで  Apache  のアクセスログ(access_log)と、 Tomcat Connectors のログ(mod_jk.log)の内容を確認すればアクセスが確認できます。 (インストール時に紹介した内容からログ出力先を変更した場合は、それに併せて参照します。)

# cd /usr/local/apache2/logs/
# cat access_log
# cat mod_jk.log

4-3.確認完了

確認が完了したので、確認準備と逆の手順で Apache と Tomcat を停止します。 

Apacheを停止
# cd /usr/local/apache2/bin
# ./apachectl stop

Tomcatを停止
# cd /usr/local/apache-tomcat-5.5.25/bin
# ./catalina.sh stop

以上で Tomcat Connector のインストールと設定は完了です。




  Tomcat(APサーバ)  
Tomcat5.5セットアップ(Win)
Tomcat5.5ダウンロード
Tomcat5.5インストール
Tomcat5.5自動起動
Tomcat5.5セットアップ(Linux)
Tomcat5.5ダウンロード
Tomcat5.5インストール
Tomcat5.5 Apache連携
サポート
info@profaim.jp

PR
検索
カスタム検索