Tomcat4.1.30とApache2.0.55の連携についての質問になります。
連携させたいのですがどうしても上手くいきません。
環境
OS:Red Hat Enterprise Linux 5
Tomcat:Ver4.1.30
Apache:Ver2.0.55
JAVA :Ver1.4.2.10
になります。
不足情報がありましたら追記しますので仰ってください。
環境作成
1.Apache、Java、Tomcatをインストールしました
(1)Apacheインストール手順
# tar zxvf httpd-2.0.55.tar.tar
# cd httpd-2.0.55
# ./configure --enable-module=so --prefix=/usr/local/apache
# make
# make install
(2)Javaインストール手順
# sh j2sdk-1_4_2_10-linux-i586-rpm.bin
# rpm –ivh j2sdk-1_4_2_10- fcs-linux-i586.rpm
(3)Tomcatインストール手順
# tar zxvf jakarta-tomcat-4.1.31.tar.gz
2.次にApache-tomcatを連携させるmod_jkをコンパイルしました
(1)手順
# tar zxvf jakarta-tomcat-connectors-current-src.tar.gz
# sh buildconf.sh
# ./configure --with-apxs=/usr/local/apache/bin/apxs
--with-tomcat41=/usr/local/tomcat
--with-java-home=/usr/java/j2sdk1.4.2_10
# make
3.apacheの設定にmod_jkを認識させるため下記ファイルを編集しました。
(1)httpd.confに以下内容を追記
途中に追記
# LoadModule jk_module module /mod_jk.so
# <IfModule mod_jk.c>
# JkWorkersFile conf/workers.properties
# JkLogFile logs/mod_jk.log
# JkLogLevel warn
# JkMount /examples/* ajp13
#</IfModule>
最終行に追記
# Alias /examples "/usr/local/tomcat/webapps/examples"
# <Location "/examples/">
# Options Indexes FollowSymLinks
# </Location>
# <Location "/examples/WEB-INF/">
# AllowOverride None deny from all
# </Location>
(2)workers.propertiesに以下内容を編集・追記
編集
# worker.list=ajp13
# worker.ajp13.port=8009
# worker.ajp13.host=localhost
# worker.ajp13.type=ajp13
最終行に追記
# [uri:/aquatech/servlet/*]
# [uri:/aquatech/*.jsp]
上記内容のように変更致しました。
以前作成したサーバは、これだけの手順でTomcatとApacheの連携はできています。
しかし、今回のサーバはなぜかエラーが発生しました。
エラーログ
/usr/local/apache/logs/mod_jk.logより抜粋
[Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1815): can't resolve tomcat address localhost
[Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1818): invalid host andport localhost 8009
[Fri Feb 06 18:09:47 2009] [error] wc_create_worker::jk_worker.c (158): validate failed for ajp13
[Fri Feb 06 18:09:47 2009] [error] build_worker_map::jk_worker.c (256): failed to create worker ajp13
これにより、ポート8080接続(http://localhost:8080/examples/index.jsp)は表示されますが、
80接続(http://localhost/examples/index.jsp)では、500 Internal Server Errorの画面が表示されます。
3.(1)に追記した、mod_jk.soのLoadModule郡を全てコメントにすると、
エラーログは発生されず、80接続(http://localhost/examples/index.jsp)を表示すると、
jspファイルのソース中身が丸出しになった状態で表示されました。
また、http://localhost/examplesへ移動すると、
tomcatのwebappsの中にあるexamplesディレクトリ構造が表示されてしまいました。
tomcatもapacheも起動はしていますが、mod_jk.soの認識がされてないと
考えているのですが、結局解決策が全くわからない状態です。
どなたか、ご教示願いますでしょうか。
よろしくお願いします。
No.1
- 回答日時:
私の予想だと、
tomcat側で、AJP待ち受け用のポートが準備できてない気がします。
tomcat側のserver.xmlがどうなっているのか確認しましたか?
ポート8009用の待ち受けポートの設定がコメントアウトされていたりしませんかね?
回答有難うございます。
tomcat側のserver.xmlは以下のように設定しています。
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>
-->
ちなみに、netstat -a | grep LISTENを実行すると以下のようになっています。
tcp 0 0 *:8009 *:* LISTEN
設定と状態見る限り、ポートは大丈夫だと思うのですが、
でもエラー内容的に、ポートしか考えられない気もします。
本当よく解りません・・・
No.2
- 回答日時:
server.xml を拝見させて頂きました。
ところ、
mod_jk2用のAJPコネクタが有効になっており、
mod_jk用のAJPコネクタは無効になっている様に見えます。
使用されているhttpd側のmod_jk.soのバージョンは合っているでしょうか?
もしかすると、
tomcat側で、
mod_jk2用のAJPコネクタを無効に設定、
mod_jk用のAJPコネクタを有効に設定。
などすると、HttpdとTomcatの連携が出来たりしませんか?
もう既に試されてます?
この回答への補足
上記内容、server.xmlの8009記述箇所をmod_jk用のAJPコネクタを有効に変更して、
動作確認を行ってみましたが、結局連携できませんでした。
問題は、回答番号:No.3のlocalhostが解決できていなかったことにありました。
localhostを記述してなんとか連携できました!
ご解答ありがとうございます。
まだ試していませんでした。
今回はまさにmod_jkを使用しています。
バージョンで違いがあったんですね。
試すのは休み明けになってしまいますが・・・
また、動作確認後、報告致します。
No.3ベストアンサー
- 回答日時:
こんにちわ。
[Fri Feb 06 18:09:47 2009] [error] ajp_validate::jk_ajp_common.c (1815): can't resolve tomcat address localhost
ってことなのでlocalhostが名前解決できない?
でも、「http://localhost:8080/examples/index.jsp」で表示できるんですよね。。。
試しに
ping localhost
とか
nslookup localhost
でlocalhostの名前解決ができてるか調べてみてはいかがでしょう?
ご回答ありがとうございます。
http://localhost:8080/examples/index.jsp ←ですが・・・
実際には、localhostの箇所は直接IPアドレスを入れてました。
紛らわしい記述してしまい申し訳ございません。
chomakichi様のおっしゃるとおり、ping localhostが全く返ってきませんでした。
盲点でした・・・
hostsに下記内容を記述して、ping localhostが返るようになりました。
# /etc/hosts
# 127.0.0.1 localhost.localdomain localhost
localhostを解決することで、ApacheとTomcatの連携ができました!
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- Java Javaで個人ブログサイトを作りたい 7 2022/04/03 17:37
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPのクラスをコンパイルできな...
-
eclipseでTomcat起動時にエラー...
-
Eclipse・プロジェクトで、フォ...
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
マイクラjavaでForgeを入れたい...
-
シンボルが見つかりませんとい...
-
Eclipse(JAVA)のデバッグで他...
-
Javaをインストールしたんです...
-
split関数で区切り文字がない場合
-
JAVAにのeclipseに関する質問で...
-
Eclipseのアンインストールの仕方
-
正しいURL指定しているにもかか...
-
CloudSticky.jarが起動しない。
-
javaが文字コードの影響でコン...
-
classファイルについて
-
「削除するか、クラスパスの正...
-
コンパイルエラーに出てくる、i...
-
eclipseのjavaを実行できない
-
jspのファイルでエラーが出る
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPのクラスをコンパイルできな...
-
eclipseでTomcat起動時にエラー...
-
isapi_redirect.dllのダウンロード
-
Eclipseでサーブレットを使用す...
-
tomcatの不具合
-
ApachePOIでエラー
-
apache2.2-tomcat6.0の連携のエ...
-
jspプログラムについて
-
javax.servlet.ServletExceptio...
-
自分で作成したservletを起動す...
-
TOMCATで上手く起動しない
-
IISとローカルと別サーバのTomc...
-
「サーブレットインスタンスを...
-
jsp:useBean の使い方???
-
No collection foundと出てしま...
-
ant1.7.1がほしい
-
Microsoft Visual Studio Code ...
-
eclipseのtomcatでエラーが発生...
-
struts2のMaven ProjectをEclip...
-
[apache+tomcat]なぜ!?実行し...
おすすめ情報