« FreeMind 0.9.0 | Main | WorkStyle »

2006.11.14

Apache2.2+Tomcat5.5

 Apache HTTP Server2.2とTomcatを連携する場合は、Apache2.0以前の時と異なり、mod_jk/mod_jk2は要らなくなった・・・という話を耳にしたので、とりあえず調査。

 Apache側のmod_proxy_ajpにより連携できるようになっているようですね。何も考えずに、とりあえずはjsp-examplesとservlets-examplesの2つのパスに関してTomcat側に処理を送るようにしてみました(今回使用したのはApache2.2.3 + Tomcat5.5.20)。

 httpd.confファイルの

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

の2行のコメントを解除し、
<Location /jsp-examples/>
  ProxyPass ajp://localhost:8009/jsp-examples/
</Location>
<Location /servlets-examples/>
  ProxyPass ajp://localhost:8009/servlets-examples/
</Location>
という行を追加するだけでOK(Tomcat側のservers.xmlがデフォルトのままという前提ですが)。
 Tomcat→Apacheの順番で起動し、http://localhost/jsp-examples/でリクエストすると、TomcatのJSPサンプルページが表示される・・・はずです(上記以来のURL(例えばhttp://localhost/index.htmlなど)は、Apache側で処理されることとなります)。

 ちなみに、httpサーバに届くリクエストURLに対して、Tomcat側のコンテキストルートを指定することができるので、

<Location /jsp/>
  ProxyPass ajp://localhost:8009/jsp-examples/
</Location>
なんて記述すると、http://localhost/jsp/でJSPサンプルページにアクセスできるようになります。全てのリクエストをTomcat側に流す場合は
<Location />
  ProxyPass ajp://localhost:8009/
</Location>
って感じで指定するとOKっぽいです。

|

« FreeMind 0.9.0 | Main | WorkStyle »

Java」カテゴリの記事

Comments

こんにちは。
ページを参考にさせていただいて見事連携に成功しました。
Windows Small Business Server 2003に
Apache + Tomcatをインストールしているのですが、
Tomcat単体(ポート8080)の場合は軽快に動くのですが、
連携するとTomcatのCPU使用率が100%近くになり超鈍足になります。
WindowsXP+PEN4の環境では目だった障害は見れませんでした。

そちら様の環境では以上ありませんでしょうか?

Posted by: Sengoku | 2006.11.23 14:52

Windows Server 2003系のOSはほとんど使ったことがないので何ともいえませんが・・・Apache2.2用のmod_jkバイナリもリリースされているようなので、それを試してみるのもありかもしれません。それで問題がなければmod_proxy_ajpに何か問題があるのかもしれません。お役に立てなくて申し訳ありません。

Posted by: syo | 2006.11.23 16:32

WindowsServer2003(Standard Edition)上でApache2.2.3+Tomcat5.5.20(JDK5Update9)の環境を構築する機会がありました・・・が、TomcatのCPU使用率が100%近くになるという現象は発生しませんでした。CPUの種類やJDKのバージョン等にも影響されるのかもしれません。

Posted by: syo | 2006.12.09 12:43

検索でこのページにたどり着きました。

最初のコメント主さまと同様に私のところでもtomcat5.exeのCPU利用率が100%になる現象が発生しています。Tomcatの起動直後から発生します。

Apache Tomcat連携についてはmod_jkを利用しています。


環境はWindowsXP SP2 + Apache2.0.59 + Tomcat5.5.20 + JRE1.5.0_06 です。

現在、設定をいろいろ試しています。
ご参考まで。

Posted by: たにぐち | 2006.12.17 16:31

今までOS/Apache/Tomcat/JDKのバージョンの組み合わせで数種類のものを使ったことがありますが、そのような現象は経験したことがありません。ただ、ロードされたクラス数が延々と増え続けるという現象(jconsoleで確認)に遭遇したことがあるので、もしかしたらそのあたりが関係しているのかもしれません(この場合でもCPU負荷はほとんどありませんが)。

なお、Tomcatは全てZipファイルで入手しています(Windows用のインストーラは使用していません)。

Posted by: syo | 2006.12.21 16:12

Googleでたどり着きました。

この件、Tomcat5.5.20で発生します。jkコネクタが使用された段階でCPU100%になり、Apacheを停止するか、Tomcatを停止するまで、この現象が起こります。

syoさんの「Zipファイルで...」というのにヒントが隠されていて、Windowsインストーラーで組み込まれるtcnative-1.dllが原因っぽいです。

aprを利用して、パフォーマンスを上げる、というヤツですが...。
ちゃんとコンパイルしないとだめなんでしょうかね?
Linuxにインストールする分には、tomcat-nativeをコンパイルして利用しても問題は起こりません。

Posted by: しが | 2007.01.07 17:34

apacheからAJP/1.3のポート8009を使ってtomcatに接続しているなら、tomcatのconf/server.xmlのport=8009の設定の足りないところを、port=8080と同じように書いてみてください。
私の環境はapache2.2.4 tomcat5.5.20ですが、同じ現象が起きていましたので、これで直りました。
まだヒートランとは細かい確認はしていませんが。

Posted by: rat | 2007.02.28 11:03

 そういえば書き忘れていましたが、普段はSSLも使う場合があるのでApacheはHunterのサイト( http://hunter.campbus.com/ )からZip版をダウンロードしてきています。
 サービスに組み込むかどうかはその時々ですが、組み込む場合は手動(?)で組み込んでいます。

Posted by: syo | 2007.03.05 07:37

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Apache2.2+Tomcat5.5:

» Apache2.2 Tomcat5.5 連携 [ぷらぷらブログ]
新しいサーバにしてから Tomcat4.1.24 -> Tomcat 5.5 ま... [Read More]

Tracked on 2007.01.26 22:07

» Apache2.2 Tomcat6.0 [気の向くままに・・・]
 Tomcat6.0のstable版がリリースされました(6.0.10)。ってこ [Read More]

Tracked on 2007.03.04 19:20

» Apache2.2とTomcatでロードバランサー [気の向くままに・・・]
 Apache2.0.59とTomcat5.5.23の代わりに、Apache2. [Read More]

Tracked on 2007.05.21 21:57

» Linux/CentOS5/Tomcat [ピノキヲ IT Wiki (PukiWiki/TrackBack 0.3)]
インストール † yumコマンドでインストールできます。 # yum -install -y tomcat5 下記コマンドでは「Nothing To Do」と表示してインストールに滑りました。。。 # yum -install -y tomcat 自動起動について † 起動スクリプトを自動起動するように... [Read More]

Tracked on 2007.06.08 18:52

» Apache2.2 Tocmat Proxy [気の向くままに・・・]
 Apache2.2とTomcatの連携をProxy経由で行う設定に関して・・・ [Read More]

Tracked on 2007.06.24 08:45

» [Linux]Apache 2.2.3 とTomcat 5.5.26 を連携 [すぎゃーんメモ]
参考: 気の向くままに・・・: Apache2.2+Tomcat5.5 IT パワーユース: ubuntu + tomcat5.5 + apache2 = ????? Tomcatを先に起動しておいて、httpd.confを編集してapache2を起動するだけ。 kurobox:/etc/apache2# cat /etc/apache2/httpd.conf Location /jsp-examples/... [Read More]

Tracked on 2008.07.06 15:40

« FreeMind 0.9.0 | Main | WorkStyle »