- PR -

apacheとtomcatの連携

投稿者投稿内容
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2006-02-14 21:25
apacheとtomcatの連携について質問がございます。
以下の様にtomcatを起動してから、apacheを起動します。
その後に、サーバ(マシン名)へアクセスすると、
apacheのテストページが見れます。

apacheとtomcatの連携がうまくいっているという
認識でよろしいでしょうか?

#一方で、以下にアクセスしても、エラーとなります。
これは連携がうまくいった上での正しい挙動なのでしょうか?
(自分自身では、HelloWorldExampleを設定しておりません。)
http://Linuxサーバーのアドレス/examples/servlet/HelloWorldExample

1.tomcatの起動
# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat4
Using CATALINA_HOME: /usr/local/tomcat4
Using CATALINA_TMPDIR: /usr/local/tomcat4/temp
Using JAVA_HOME: /usr/local/j2sdk

2.apacheの起動
# ./apachectl start
./apachectl start: httpd started

3. サーバへのアクセス
http://192.168.0.40/

Apacheインストール字のテストページが見えます。
べう
会議室デビュー日: 2004/01/23
投稿数: 17
投稿日時: 2006-02-14 21:46
おそらく mod_jk とか mod_jk2 で連携するのだと思うのですが、そこら辺の設定はできているのでしょうか?

http://HOGE:8080/ はアクセスできてます?
どんたくお
ベテラン
会議室デビュー日: 2005/08/29
投稿数: 88
投稿日時: 2006-02-14 23:39
こんばんは。

> apacheとtomcatの連携がうまくいっているという
> 認識でよろしいでしょうか?
Apacheのテストページが見えただけだと、tomcatとの連携がうまくいっているとは完全にはいえない部分があると思います。

#一方で、以下にアクセスしても、エラーとなります。
エラー内容がわかりませんが、
例えば、
http://Linuxサーバーのアドレス:8080/examples/jsp/dates/date.jsp
が見れて、
http://Linuxサーバーのアドレス/examples/jsp/dates/date.jsp
Apacheのエラーページ(404など)が表示された場合は、うまく連携できていない可能性があります。

環境がわかるとなお、よろしかもしれません。
ApacheとTomcatの連携コネクタなど
mod_jk? mod_jk2 mod_proxy_ajp?
などなど


参考にならなかたらすみません。m(_|_)m
teto
ベテラン
会議室デビュー日: 2002/07/31
投稿数: 61
投稿日時: 2006-02-15 00:52
引用:
apacheとtomcatの連携がうまくいっているという
認識でよろしいでしょうか?

#一方で、以下にアクセスしても、エラーとなります。
これは連携がうまくいった上での正しい挙動なのでしょうか?
(自分自身では、HelloWorldExampleを設定しておりません。)
http://Linuxサーバーのアドレス/examples/servlet/HelloWorldExample



連携ができているのかどうかわからないが正解です。
/examples以降のURIをTOMCATに振る設定が施されていれば
http://Linuxサーバーのアドレス/examples/servlet/HelloWorldExample
で確認できるでしょうが。。

ご質問の意図は他人が設定したものの動作確認なのでしょうか?

ここらへんはっきりさせないと。。
と思います。

banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2006-02-15 14:37
アドバイスありがとうございます。

アクセスとその結果についてです。

1. うまくアクセスできました。
http://192.168.0.40/

2. エラーとなりました。
http://192.168.0.40:8080/
エラー結果
HTTP Status 404 -

3. エラーとなりました。
http://192.168.0.40/examples/
エラー結果
Not Found
The requested URL /examples/ was not found on this server.
Apache/1.3.19 Server at localhost.localdomain Port 80

4. エラーとなりました。
http://localhost/examples/
エラー結果
Not Found
The requested URL /examples/ was not found on this server.
Apache/1.3.19 Server at localhost.localdomain Port 80

5. エラーとなりました。
http://192.168.0.40:8080/examples/jsp/dates/date.jsp
エラー結果
HTTP Status 503 - このアプリケーションは現在利用できません

【設定情報】
1.tomcatは、8080番のポートをしようしないようにしております。

$ vi /usr/local/tomcat5/conf/server.xml

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<!--
 <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
   port="8080" minProcessors="5" maxProcessors="75"
   enableLookups="true" redirectPort="8443"
   acceptCount="100" debug="0" connectionTimeout="20000"
   useURIValidationHack="false" disableUploadTimeout="true" />
-->

2.以下のように、8009番を設定しております。サーバ上では、8009の
ポートは特に開けておりません。

usr/local/tomcat4/conf/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"/>

/etc/httpd/conf/workers2.properties

[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
debug=0
tomcatId=localhost:8009

3. インターネットの情報を集めて、自分自身で設定をしました。
ソフトウエアのバージョンは以下のとおりです。

apache_1.3.19
jakarta-tomcat-connectors-jk2-2.0.4-src
mod_ssl-2.8.2-1.3.19
openssl-0.9.6
jakarta-tomcat-4.1.31

以上、よろしくお願い致します。
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2006-02-15 15:00
1はapacheのテストであってapacheとtomcatの連携のテストになってないです。

2、5はTomcat設定で8080を閉じてるならエラーは当然ですよね、連携等のテスト
が終わるまで8080もあけておいてTomcat単体なら問題なしといった切り分けをされては
いかがでしょう。

3、4 ブラウザが動作してるマシンのIPは192.168.0.40でしょうか?

apache -> tomcatは昔私も苦戦した記憶があるのですが、その環境はありません。
あまり詳しくもないのですが
今、手元にIIS -> Tomcatのworkers2.propertiesがありますが、

# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]

というhttpサーバがどんなURLをリクエストされたら、Tomcatに投げるという設定が
あります。
この設定も必要でしょう。
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2006-02-15 17:12
アドバイスありがとうございます。

まずは、tomcat単体で,うまくいくか調べております。
調査をすすめる内に、おかしな点に気づきました。
以下のように、tomcatを起動します。

#./startup.sh

この状態で、以下にアクセスすると、
Apacheインストール時のテストがみれます。
何故、tomcatしか起動していないのに、
Apacheがみれるのかが不思議です。
マシンを起動したときに、Apacheが起動しているのでしょうか?
Apacheが起動しているかどうか確かめる方法はございますでしょうか?

http://192.168.0.42/

>2、5はTomcat設定で8080を閉じてるならエラーは当然ですよね、

8080を閉じないようにするとは、以下のどちらでしょうか?

(1)ファイアーウオールの設定で、8080を開ける
#現状では、サーバ上では、8080のポートは特に開けておりません。

(2)以下のようにして、8080番を閉じることを中止
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->

 <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
   port="8080" minProcessors="5" maxProcessors="75"
   enableLookups="true" redirectPort="8443"
   acceptCount="100" debug="0" connectionTimeout="20000"
   useURIValidationHack="false" disableUploadTimeout="true" />

>3、4 ブラウザが動作してるマシンのIPは192.168.0.40でしょうか?

マシンのIPは192.168.0.40です。

>httpサーバがどんなURLをリクエストされたら、Tomcatに投げるという設定が
>あります。この設定も必要でしょう。

了解しました。調査してみます。
どんたくお
ベテラン
会議室デビュー日: 2005/08/29
投稿数: 88
投稿日時: 2006-02-15 18:06
こんばんは。

> この状態で、以下にアクセスすると、
> Apacheインストール時のテストがみれます。
多分、Apacheが起動していると思います。
> Apacheが起動しているかどうか確かめる方法はございますでしょうか?
こちらはご使用になられているLinuxディストリビューションによると思います。
Fedora(RedHatLinux系)だと
chkconfig
自動的に起動するサービスの一覧が表示されます。
chkconfig --list httpdかapache
で、起動レベルごとにONとOFFが表示されます


> (1)ファイアーウオールの設定で、8080を開ける
> #現状では、サーバ上では、8080のポートは特に開けておりません。
> (2)以下のようにして、8080番を閉じることを中止
両方が必要になると思います。

apacheとtomcatともに、パッケージ管理ソフトを使われてインストールされたのでしょうか。

あまり、参考にならなかったすみません。

スキルアップ/キャリアアップ(JOB@IT)