ウェブサイト検索

mod_jk コネクタを使用して Apache2 を Tomcat 7 と統合する


Apache は、利用可能な Web サーバーの中で最も人気があります。 Web サーバーは基本的に、クライアントからのリクエストを受け入れ、それらのリクエストに対する応答を送信するために使用されます。 URL を取得し、それをファイル名に変換し (静的リクエストの場合)、そのファイルをローカル ディスクからインターネット経由で送り返すか、それをプログラム名に変換して実行し、そのプログラムの出力を送り返します。インターネット経由で要求側に送信されます。 Web サーバーがリクエストを処理して完了できなかった場合は、代わりにエラー メッセージを返します。

この記事では、Apache の機能と、mod_jk コネクタを使用して Apache を Tomcat8 および Tomcat7 と統合する方法をリストします。

Apache の機能

前述したように、Apache は利用可能な Web サーバーの中で最も人気があります。人気の理由は次のような特徴です。

  • 無料のツールなので、簡単にダウンロードしてインストールできます。
  • オープンソースの Web サーバーであるため、コードを簡単に確認し、調整し、最適化し、エラーやセキュリティ ホールを修正できます。新しい機能やモジュールを追加することもできます。
  • 1 ~ 2 ページの小規模な Web サイトにも、毎月数百万人の定期訪問者にサービスを提供する数百、数千ページの大規模な Web サイトにも使用できます。静的コンテンツと動的コンテンツの両方を提供できます。
  • キャッシュ モジュール (mod_cache、mod_disk_cache、mod_mem_cache) が改善されました。
  • Apache 2 は、インターネット プロトコル IPv6 をサポートします。

Tomcat ディレクトリ

$ {tomcat_home} は tomcat のルート ディレクトリです。 Tomcat のインストールには次のサブディレクトリが必要です。

  • $ {tomcat_home}\conf – さまざまな構成ファイルを配置できる場所
  • $ {tomcat_home}\webapps – サンプル アプリケーションが含まれています
  • $ {tomcat_home}\bin – Web サーバー プラグインを配置する場所

Mod_jk モジュール

mod_jk は、バイナリとソースの 2 つの形式で取得できます。 Web サーバーを実行しているプラットフォームによっては、mod_jk のバイナリ バージョンが利用できる場合があります。バイナリ バージョンが利用可能な場合は、それを使用することをお勧めします。

mod_jk モジュールは以下で開発およびテストされました。

  • Linux、FreeBSD、AIX、HP-UX、MacOS X、Solaris、および Apache 1.3 および/または 2.x をサポートする主要な Unix プラットフォームで動作する必要があります
  • 0-i386 SP4/SP5/SP6a (他のサービス パックでも動作できるはず)、Win2K、WinXP、Win98
  • Cygwin (Apache サーバーと autoconf/automake サポート ツールが存在するまで)
  • ネットウェア
  • i5/OS V5R4 (システム I)、Apache HTTP サーバー 2.0.58。必ず最新の Apache PTF をインストールしてください。
  • Tomcat 3.2 から Tomcat 8 へ。

mod_jk には 2 つのエンティティが必要です。

  • mod_jk.xxx – Apache HTTP サーバー モジュール。オペレーティング システムに応じて、mod_jk.so、mod_jk.nlm、または MOD_JK.SRVPGM になります。
  • workers.properties – ホストとワーカー (Tomcat プロセス) によって使用されるポートを記述するファイル。サンプルの works.properties は、ソース ダウンロードの conf ディレクトリの下にあります。

また、他の Apache HTTP サーバー モジュールと同様に、mod_jk を最初に Apache ウェブサーバーのモジュール ディレクトリ /usr/lib/apache にインストールし、httpd.conf ファイルを更新する必要があります。

インストール

インストールを開始する前に、root 以外のユーザー システムに「sudo」権限が必要です。ここでインストールを開始するので、次のコマンドを使用して Apache2 と Tomcat をインストールします。

sudo apt-get install apache2
sudo apt-get install tomcat7
sudo apt-get install tomcat7-admin

次に、次のコマンドを使用して Tomcat のテスト アプリケーションを作成します。

 cd /var/lib/tomcat7/webapps
 sudo mkdir tomcat-demo
 sudo mkdir tomcat-demo/goodmoring
 sudo vim tomcat-demo/helloworld/index.jsp

そして、次のコードを貼り付けます。

<HTML> 
 <HEAD>  
  <TITLE>Good Morning</TITLE> 
 </HEAD> 
 <BODY>  
  <H1>Good Morning</H1>   
  Today is: <%= new java.util.Date().toString() %> 
 </BODY>
</HTML>

すべて問題ありません。次のコマンドを使用して mod_jk をインストールして構成します。

sudo apt-get install libapache2-mod-jk

次のコマンドを使用して、Tomcat でリダイレクト ポート 8443 を有効にすることから始める必要があります。

sudo vim /etc/tomcat7/server.xml

そして、次の行のコメントを解除します。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

その後、次のコマンドを使用して、Apache 用の works.properties ファイルを作成します。

sudo vim /etc/apache2/workers.properties

次のテキストを貼り付けます。

Define 1 real worker using ajp13 
 worker.list=worker 
 # Set properties for worker (ajp13) 
 worker.worker.type=ajp13 
 worker.worker.host=localhost
 worker.worker.port=8009

次に、次のコマンドを使用して、Apache にこのワーカーを使用させます。

sudo vim /etc/apache2/mods-available/jk.conf

そして、JkWorkersFile プロパティを次のように変更します。

/etc/apache2/workers.properties

最後に URL を設定するには、Apache が Tomcat を通過する必要があります。

sudo vim /etc/apache2/sites-enabled/000-default

そして、設定ファイルに次の行を追加します。

<VirtualHost *:80>
.......................................
.......................................
JkMount /tomcat-demo* worker1
</VirtualHost *:80>

これで、次のコマンドを使用してサーバーを再起動し、機能を確認できるようになります。

 sudo /etc/init.d/tomcat7 restart
 sudo /etc/init.d/apache2 restart

結論

この記事では、mod_jk コネクタを使用して Apache2 と Tomcat 7 を構成およびインストールする方法を説明しました。