goo blog サービス終了のお知らせ 

ボヌシュボイ

人生の道標

mod_jkでapacheとtomcatの連携

2008-10-20 14:27:38 | ブラックボックス
mod_jkをダウンロードします。十月十五日時点で最新版(tomcat-connectors-1.2.26-src.tar.gz)
http://tomcat.apache.org/download-connectors.cgi
このコネクターを使ってapacheとtomcatを連携させます。
コネクターを解凍した後、解凍してできたディレクトリに移動します。
 tar zxvf tomcat-connectors-1.2.26-src.tar.gz
 cd tomcat-connectors-1.2.26-src
コンパイルします。
./configure --with-apxs=/usr/local/apache2/bin/apxs (linuxではapxsのある場所を指定します) 

--with-apxs=/usr/local/apache2/bin/apxsとは?
apacheのモジュールを追加するapache拡張ツールです。コレを使ってインストールする事によりapache
の機能の一部として使うことができます。オプション追加みたいなものですが、コレを使ってインストール
するかしないかで大分変わります。apacheをインストールする際に必ず入れて下さい。

あとはインストール実行するのみ。 
 make
 make install
これでインストールできました。

うまくできていれば、/usr/local/apache2/modulesのディレクトリにmod_jk.soというのがあるはずです。
なければ、やり直しです。

次はapacheの設定ファイルである、httpd.confの設定を変えます。
viでもエディタでもいいですので、httpd.confに以下を書き込みます。
最下部の方が色々と面倒な事がないのでいいです。

Include "/usr/local/apache2/conf/mod_jk.conf"
これでmod_jk.confをapacheが読み込む様になります。

次にmod_jk.confファイルを新規作成します。
mod_jk.confと名前を付けて以下を書き込んで下さい。

LoadModule jk_module "/usr/local/apache2/modules/mod_jk.so"

<IfModule mod_jk.c>
JkWorkersFile "/usr/local/apache2/conf/workers.properties"
JkLogFile "/usr/local/apache2/logs/mod_jk.log"
JkLogLevel emerg
JkMount /* testWork
</IfModule>


これでmod_jk.confの作成ができました。保存する際は注意としてhttpd.confと同じ場所に保存する事。
設定の内容としてはログファイルの設定とtomcatへ送るファイルの設定をJkMountで行っています。
あとは、workers.propertiesを読み込む設定になっていますのでそのファイルを作成します。
以下の文を新規作成してworkers.propertiesと名前を付けて保存して下さい。

worker.list=testWork
worker.testWork.port=8009
worker.testWork.host=localhost
worker.testWork.type=ajp13

あとは同じようにhttpd.confと同じ場所に保存します。ここでtomcatの設定をapacheに渡してます。
ちなみにworker.list=testWorkで名前を決めているので、ここで名前を決めて下さい。
workers.propertiesとmod_jk.confが同じ名前なら何でも構いません。

JkMountでtomcatに引き渡す設定をしているので、/*.jspのようにjspと最後に付いたリクエストは全て
引き渡すというように設定を追加したりできます。
/htdocs/*とすればhtdocsディレクトリ以下のリクエストを全て送る事になります。
JkUnmountと設定してtomcatに引き渡さないディレクトリも指定できます。

これで設定できました。
あとはtomcatとapacheを起動して下さい!

流れとしては
・jk_modをインストール。
・httpd.confを編集。
・mod_jk.confを新規作成。
・workers.propertiesを新規作成。
・apacheとtomcatの起動となります
新しく作るファイルは、mod_jk.confとworkers.propertiesの二つだけです。

※くれぐれも作業はtomcatとApacheを停止させてから作業して下さい!!

私が作業したバージョンはapacheが2.2.9、tomcatが6.0.18で行いました。





最新の画像もっと見る