- 締切済み
Tomcat5.5.23とApache2.2.4とmod_jk
似た質問が過去にあったのですが上手く出来なかったので質問させて頂きます。 環境は 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 わかる方がおりましたらご指導下さい。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Sugichi28
- ベストアンサー率75% (3/4)
ううん、実際自分はR_Bさんのやり方であるjkを使ったやり方ができなくてこの方法を選んだ人間なので、そのやり方に関するアドバイスは難しいです・・。申し訳ないです。ひょっとしてOSってUnixとかLinuxですか?だとしたら自分は厳しいです。 そして、もしWindowsだとすると、ヴァージョン2.2以降はどうやらjkコネクターに対応していないようです(参考URLを見てくださいね)。もしどうしてもjkを使いたければ2.0のヴァージョンに戻すしかないようです。 P.S. 単純なつづりミスってことはないですか?jspがjpsになってるとか。この投稿記事を見るとそのつづりミスがあるのでちょっと心配です。
- Sugichi28
- ベストアンサー率75% (3/4)
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も再起動すれば、連携できるはずです!お試しくださいませ。自分も連携には苦労しました。でも根性で調べまくってやり方がわかりました。くじけずにがんばってくださいねえ。
お礼
早速の回答有難うございます。 おっしゃる通り連携が出来ておりませんでした。 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に行っている ご指導の程、よろしくお願い申し上げます。
お礼
OSはUnixのSolaris9を使用しております。 つづりミスは何度も確認してますので無いと思います。 もう少しだけ悩んでみます。 色々と有難うございました。