プロが教えるわが家の防犯対策術!

似た質問が過去にあったのですが上手く出来なかったので質問させて頂きます。

環境は
OS:Solaris9
Apache:2.2.4
Tomcat:5.5.23
mod_jk:1.2.21

Apache単体では
http://localhost
It worksと表示され問題ないと思います。

Tomcat単体では
http://localhost:8080
トップページ表示され問題ないと思います。

http://localhost:8080/jsp-examples/
ではJSP Sampleページが出力され、連携出来ていると他サイトで書かれておりましたので問題ないと思います。

問題の
http://192.168.10.25:8080/servlets-examples/
でHTTP Status 404 が出力されて表示できません。

[Apacheのhttp.confに以下を付け足しました]
LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache/conf/workers.properties
JkLogFile /usr/local/apache/logs/mod_jk.log
JkLogLevel warn
JkMount /jsp-examples/* worker1
JkMount /servlets-examples/* worker1
</IfModule>

[workers.propertiesファイルを作成しました]
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50

わかる方がおりましたらご指導下さい。
よろしくお願い致します。

A 回答 (2件)

 ApacheとTomcatの連携についての質問ですよね?連携できている場合は、Tomcatのポートである8080は入力しなくてもApacheのIPアドレスにTomcatのルートフォルダを入力するだけでTomcatのページが開かれます。

たとえば、Apacheのindexページが

http://localhost/

で見れるとします。そして初期設定ではTomcatのROOTフォルダがC:\Program Files\Apache Software Foundation\Tomcat 5.5\webappsの中にあると思いますが、これを何か別の名前にしてください。自分はsugichiとしています。連携できている場合は

http://localhost/sugichi/

でTomcatのindexページが見れます。
なので、ポートに8080を入れている時点で、連携できているかどうかの確認はできません。
 ところで、OSはWindowsXPですか?もしそうだとすれば、以下のやり方を参考にしてみてください。ほかのOSでもいけるかもですが・・。

 Apache2.2.4のヴァージョンであればhttpd.confファイルのLoadModuleという項目のところに、以下のような項目があるはずです。

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

見つけることができたらそこの#をはずして非コメント化してください。

そうしたら、次にやることは。ええっと、これは1例です。別のやり方もあると思いますが、自分がいろんなサイトで調べて発見したやり方を紹介します。

まず、httpd-proxy.confという別のファイルを作成して、そこに以下のように記述してください。

<Location /******/>
ProxyPass ajp://-----------:8009/******/
</Location>

---------の部分にはマシンのIPアドレス、
****の部分はTomcatのルートフォルダ名を入れてください。
これをC:\Program Files\Apache Software Foundation\Apache2.2\conf\extraフォルダに保存します。

続いて、元のhttpd.confファイルのどこでもいいので(自分はLoadModule項目のすぐ下に入れていますが)、以下の記述を書いてください。

Include conf/extra/httpd-proxy.conf

これで、httpd.confファイルを保存してApacheもTomcatも再起動すれば、連携できるはずです!お試しくださいませ。自分も連携には苦労しました。でも根性で調べまくってやり方がわかりました。くじけずにがんばってくださいねえ。
    • good
    • 0
この回答へのお礼

早速の回答有難うございます。
おっしゃる通り連携が出来ておりませんでした。
Sugichi28さんはmod_proxy_ajpでの接続方法を用いているのかな?と思いました。
私はどうしでもmod_jkにて接続を行わなければなりません。
再度連携方法に付いて質問させて頂ければと思います。

Tomcatの8080ポートが有効であれば
http://localhost:8080/jsp-examples
ページを参照できるのですが
http://localhost/jsp-examples
にて接続したくTomcatと連携する為に以下の設定を行いました。

【Tomcatのserver.xmlの8080ポート部分をコメントアウトし以下を有効】
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

【Apacheのlog情報】
[notice] Apache/2.2.4 (Unix) mod_jk/1.2.21 configured -- resuming normal operations
→ Apacheとmod_jkの接続は正常
File does not exist: /usr/local/httpd-2.2.4/htdocs/jps-examples
→ /usr/local/tomcat/jsp-examplesを見に行きたいが
/usr/local/httpd-2.2.4/htdocs/jps-examplesに行っている

ご指導の程、よろしくお願い申し上げます。

お礼日時:2007/07/05 17:52

 ううん、実際自分はR_Bさんのやり方であるjkを使ったやり方ができなくてこの方法を選んだ人間なので、そのやり方に関するアドバイスは難しいです・・。

申し訳ないです。ひょっとしてOSってUnixとかLinuxですか?だとしたら自分は厳しいです。
 そして、もしWindowsだとすると、ヴァージョン2.2以降はどうやらjkコネクターに対応していないようです(参考URLを見てくださいね)。もしどうしてもjkを使いたければ2.0のヴァージョンに戻すしかないようです。

 P.S. 単純なつづりミスってことはないですか?jspがjpsになってるとか。この投稿記事を見るとそのつづりミスがあるのでちょっと心配です。

参考URL:http://www.javaroad.jp/bbs/answer.jsp?q_id=20061 …
    • good
    • 0
この回答へのお礼

OSはUnixのSolaris9を使用しております。
つづりミスは何度も確認してますので無いと思います。

もう少しだけ悩んでみます。
色々と有難うございました。

お礼日時:2007/07/08 14:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!