- - PR -
Apache2.2とTomcat5.5間の連携について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-05-31 17:16
初めまして、まじぇと申します。
今まではずっと見ているだけだったのですが どうしても解決できない問題がありまして、質問させて下さい。 環境: WinXP Pro SP2 Apache2.2.2 Tomcat5.5.17 デフォルトの設定から conf/extra/に httpd-proxy.confを新規作成し、 内容を・・・ <Location /jsp-examples/> ProxyPass ajp://localhost:8009/jsp-examples/ </Location> としました。 また、httpd.confに Include conf/extra/httpd-proxy.confを追加し、 mod_proxy.soとmod_proxy_ajp.soをインクルードするようにしました。 この設定で、tomcat→apacheの順に起動後、 http://localhost:8080/とhttp://localhost/にはアクセスできますが、 http://localhost/jsp-examples/にアクセスすると 503が返ってきます。 なぜ、503が返ってくるのかが理解できず困っています。 不備があればご指摘頂けないでしょうか? |
|
投稿日時: 2006-06-03 01:24
はじめまして。ポリンキーと申します。
>デフォルトの設定から >conf/extra/に >httpd-proxy.confを新規作成し、 >内容を・・・ ><Location /jsp-examples/> >ProxyPass ajp://localhost:8009/jsp-examples/ ></Location> >としました。 >また、httpd.confに >Include conf/extra/httpd-proxy.confを追加し、 >mod_proxy.soとmod_proxy_ajp.soをインクルードするようにしました。 上記の件ですが、私もいろいろと調べたのですがApache2.xとTomcat5.xを連携する場合、設定のしかたが少し違うみたいですね。 私が使用している環境はWindowsXP/Apache2.0.52/Tomcat5.5.4ですが 以下の設定で動いています。 ○Apacheインストールディレクトリ/Apache2/modules/mod_jk2.soを配置 ○Apacheインストールディレクトリ/Apache2/conf/httpd.confの最後の行に以下を追加 LoadModule jk2_module modules/mod_jk2.so ○Apacheインストールディレクトリ/Apache2/conf/workers2.propertiesのファイルを作成して以下を記述 ---------------------- [status:] [uri:/jkstatus/*] group=status: [shm:] disabled=1 [channel.socket:] [ajp13:] [uri:/test/*] ↑ (tomcatのwebappsディレクトリ直下に置いたときのディレクトリ) --------------------- ○Tomcatインストールディレクトリ/conf/server.xmlの以下の部分を編集 <!--Connector port="8080"〜 disableUploadTimeout="true"/-->←この部分をコメントアウト すぐ下に以下を追加 <Connectorport="8009" enableLookups="false"redirectPort="8443"protocol="AJP/1.3"/> 以上です。ご参考までに... |
|
投稿日時: 2006-06-03 15:02
こんばんは。
Tomcat側の設定に、問題はないですか? 本当に8009ポートは開いているでしょうか? コマンドプロンプトから、netstatコマンドを使うと開いているポートが見えます。 あと、ときどきパーソナル・ファイアーウォールが邪魔をすることがあるので、その辺の設定も確認してみてください。 |
|
投稿日時: 2006-06-04 10:36
>ポリンキーさん
apache2.1から(?)mod_jk2ではなくmod_proxyを使用するように推奨されていたので mod_proxyを使用しようと思いました。 Webの情報を色々調べてみたのですが、まだmod_proxyの情報が少なく困ってしまっていました。 もう数日proxyで頑張って無理ならば、mod_jkに切り替えようと思います。 mod_jkの設定方法を御指南頂き有り難う御座いました。 >しましまさん Tomcat側はデフォルトのままです。何か設定しなければいけないのでしょうか? また、netstat -aで確認したところ8080、8009ともにLISTNINGでした。 色々やってみてはいるのですが、何がお気づきの点が御座いましたら またご返信頂けると幸いです。 |
|
投稿日時: 2006-06-04 11:36
Tomcatはデフィルト設定で問題なかったはずですし、実際にポート8009が開いてるなら大丈夫でしょう。
ところで、エラーの503は、Apacheのものですか? Tomcatのものですか? ちなみに、僕はmod_rewriteと組み合わせて、 RewriteEngine on RewriteRule ^/jsp-examples/(.*) ajp://localhost:8009/jsp-examples/$1 [P,L] このような設定でうまく行ってますよ。 |
|
投稿日時: 2006-06-04 12:05
こんにちわ。
私の設定は以下です。これでうまく行ってるんですがどうですか。 # httpd-proxy.confの内容は以下1行のみ ProxyPass /hoge/ ajp://localhost:8009/hoge/ |
|
投稿日時: 2006-06-04 12:52
>しましまさん
503のエラーがどっちから返ってきてるか分からないのですが 内容は「Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.」でした。 REWRITEをインクルードして、しましまさんと同様の記述をしたのですが、 localhost//jsp-example/もlocalhost//jsp-example/index.html共に 503が返却されました。 >(株)ぽちさん ロケーションタグを取ってみたのですが、結果は同じでした・・・ >各位 気になったのでTomcat/logs/catalina.【日付】.logを覗いてみたら 2006/06/04 12:46:45 org.apache.coyote.http11.Http11AprProtocol init 情報: Coyote HTTP/1.1を http-8080 で初期化します 2006/06/04 12:46:45 org.apache.coyote.ajp.AjpAprProtocol init 致命的: Error initializing endpoint java.lang.Exception: Socket bind failed: [730048] ???A?e?\?P?b?g ?A?h???X???μ??v???g?R???A?l?b?g???[?N ?A?h???X?A?????|?[?g???? 1 ??????g?p??≪??・?B 2006/06/04 12:46:45 org.apache.catalina.startup.Catalina load <<<省略>>> 致命的: Catalina.start LifecycleException: プロトコルハンドラの初期化に失敗しました: java.lang.Exception: Socket bind failed: [730048] ???A?e?\?P?b?g ?A?h???X???μ??v???g?R???A?l?b?g???[?N ?A?h???X?A?????|?[?g???? 1 ??????g?p??≪??・?B <<<省略>>> 2006/06/04 12:46:45 org.apache.catalina.startup.Catalina load 情報: Initialization processed in 703 ms 2006/06/04 12:46:45 org.apache.catalina.core.StandardService start 情報: サービス Catalina を起動します 2006/06/04 12:46:45 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/5.5.17 2006/06/04 12:46:45 org.apache.catalina.core.StandardHost start 情報: XML検証は無効です 2006/06/04 12:46:46 org.apache.coyote.http11.Http11AprProtocol start 情報: Coyote HTTP/1.1を http-8080 で起動します 2006/06/04 12:46:47 org.apache.coyote.ajp.AjpAprProtocol start 致命的: Error starting endpoint java.lang.Exception: Socket bind failed: [730048] ???A?e?\?P?b?g ?A?h???X???μ??v???g?R???A?l?b?g???[?N ?A?h???X?A?????|?[?g???? 1 ??????g?p??≪??・?B 2006/06/04 12:46:47 org.apache.catalina.startup.Catalina start <<<省略>>> 致命的: Catalina.start: LifecycleException: service.getName(): "Catalina"; プロトコルハンドラの起動に失敗しました: java.lang.Exception: Socket bind failed: [730048] ???A?e?\?P?b?g ?A?h???X???μ??v???g?R???A?l?b?g???[?N ?A?h???X?A?????|?[?g???? 1 ??????g?p??≪??・?B 2006/06/04 12:46:47 org.apache.catalina.startup.Catalina start <<<省略>>> 情報: Server startup in 1218 ms とありました。長いのでスタックトレースは省略しました。(tomcatは起動できています) このエラーが原因なのでしょうか? tomcat&apache初心者でエラーも読めずに申し訳ないのですが どうぞ宜しくお願い致します。 |
|
投稿日時: 2006-06-07 18:13
私も同じように503のエラーが
返ってきていましたが、その時は 単純にhttpd-proxy.confの <Location /hoge/> ProxyPass ajp://localhost:8009/hoge/ </Location> のポートを間違って8080にてしていた為でした。 もしポートが間違っていなければ TOMCATのServer.xmlでConnector Port="8009"は どうなっていますか? もしかしたらデフォルトから変更していませんか??? |