« 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 at 14:52

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

Posted by: syo | 2006.11.23 at 16:32

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

Posted by: syo | 2006.12.09 at 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 at 16:31

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

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

Posted by: syo | 2006.12.21 at 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 at 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 at 11:03

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

Posted by: syo | 2007.03.05 at 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/12688332

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 at 22:07

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

Tracked on 2007.03.04 at 19:20

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

Tracked on 2007.05.21 at 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 at 18:52

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

Tracked on 2007.06.24 at 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 at 15:40

« FreeMind 0.9.0 | Main | WorkStyle »