はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

 FC5でのJSP/Servlet
日時: 2006/11/03 23:45
名前: 上弦の月

 初めまして、上弦の月と申します。
2ヶ月程前から自前のサーバ(FC5)でWebサイトを運営していたのですが、最近必要に駆られてJSP/Servletをサーバで動かさなければならなくなったのですが、ここのサイト様の通りにやってもエラーページが表示されたので、質問させて下さい。


 jsp-examplesをアドレスに指定しても
『500 Internal Server Error』
The server encountered an internal error or misconfiguration と出てきます。

 httpd/error_logを見てみると

[notice] shm.getSlot() found existing slot 0 epStat.22234
[notice] shm.getSlot() found existing slot 8192 epStat.3
[notice] shm.getSlot() found existing slot 16384 epStat.22231
[notice] shm.getSlot() found existing slot 24576 epStat.22236
[notice] shm.getSlot() found existing slot 32768 epStat.7
[notice] shm.createSlot() Created slot 6
[notice] workerEnv.init() create slot epStat.22235
[notice] ajp13.service() no channel defined, error in init
[error] lb.service() worker failed 120000 for ajp13:localhost:8009
[error] lb.service() unrecoverable error...
[error] mod_jk2.handler() Error connecting to tomcat 120000, status 0

 となっているのですが、これはどういうことなのでしょうか?
tomcatのバージョン等はこのサイトの表示と同じはずなのですが。

 ご教示の程よろしくお願いします。

■ コンテンツ関連情報

 Re: FC5でのJSP/Servlet ( No.1 )
日時: 2006/11/04 00:20
名前: らくだ

こんにちは。

Apacheのバージョンはいくつでしょうか?
連携には、mod_jkをお使いですか?

Apacheが2.2以上ですと、Tomcatとの連携にはmod_jkコネクタは使用しません。
Apacheのmod_proxy_ajpを使います。このあたりでググればすぐに解決しますよ。

もしそうでなければ、もう少しバージョンなどの環境を教えてください。
 Re: FC5でのJSP/Servlet ( No.2 )
日時: 2006/11/04 14:05
名前: 上弦の月

 らくだ様、ご丁寧な返信ありがとうございます。
apacheのバージョンは、2.2.2となっていました。
tomcatとの連携については、こちら様のページに記載されていた通り、mod_jkを使っていました。

 mod_proxy_ajpについてGoogleで調べてみましたが、こちら様の通りにやっていただけなので詳しい部分まで理解出来たか怪しいです(^^;)
apacheの新バージョンには、mod_proxy_ajpというモヂュールが新たに入り、mod_jkはサポートされなくなった為、mod_proxy_ajpを使わなくてはならないのですね?

 他のサイトでmod_proxy_ajpの導入を書かれているページを見てみましたが、一からapacheをインストールしているような部分も見受けられて、正直戸惑っています。
Apache自体は yum install httpd で入れたので、wget等ではインストールしていないのですが……。
 Re: FC5でのJSP/Servlet ( No.3 )
日時: 2006/11/04 19:26
名前: らくだ

こんにちは

>apacheの新バージョンには、mod_proxy_ajpというモヂュールが新たに入り、mod_jkはサポートされなくなっ>た為、mod_proxy_ajpを使わなくてはならないのですね?
はい、そうです。

>一からapacheをインストールしているような部分も見受けられて、正直戸惑っています。
私は、yumでもwgetでもapacheを入れていませんので、その場合にmod_proxy_ajpが使える状態かどうかは
わかりませんが、httpd.confを見ていただいたときに、このモジュールをロードしていませんか?

↓こんな記述
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

この記述があれば使える状態にあります。

設定については、以前よりもはるかに楽になっています。
まず、httpd.confまたはヴァーチャルホストの設定に

<Location /hoge/>
  ProxyPass ajp://localhost:8009/hoge/
</Location>

と記載し、

server.xmlに

<Host name="www.hoge.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="/hoge" docBase="/home/hoge/webapps/hoge" debug="0" reloadable="true"/>
</Host>

と書いてやればOKです。※パスは例なので、自分の環境に合わせて書き換えてください。
また。設定の仕方は一例でほかにもやりようはあるので、あしからず。







 Re: FC5でのJSP/Servlet ( No.4 )
日時: 2006/11/04 21:46
名前: 上弦の月

 らくだ様、重ね重ねありがとうございます。

ご指摘の『LoadModule』をhttpd.confから確認してみたところ、『LoadModule proxy_module modules/mod_proxy.so』は在ったのですが、肝心の『LoadModule proxy_ajp_module modules/mod_proxy_ajp.so』が見当たりませんでした。

再度バージョンを確認してもApache2.2.2とありました。
proxy_ajp_moduleというのは別途どこからか入手する必要があるのでしょうか?


 また、その後の設定につきましても質問があります。
<Location /hoge/>
  ProxyPass ajp://localhost:8009/hoge/
</Location>
 の『/hoge/』の部分はJSP/Servletを格納するフォルダ名ですね?


<Host name="www.hoge.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="/hoge" docBase="/home/hoge/webapps/hoge" debug="0" reloadable="true"/>
</Host>

 の部分も同様に『Host name』の部分は自分のサーバのホスト名を入れ、『docBase』の部分は自分で作ったhogeフォルダの中のwebappsのフォルダの中にあるhogeフォルダの中身をJSP/Servletとして認識させるということなのでしょうか?


 長々とお付き合いさせてすいません。
 Re: FC5でのJSP/Servlet ( No.5 )
日時: 2006/11/05 01:12
名前: らくだ

こんばんは

>再度バージョンを確認してもApache2.2.2とありました。
>proxy_ajp_moduleというのは別途どこからか入手する必要があるのでしょうか?

yumなどのインストールの時には、mod_proxy_ajpは入らないんですかね?
ここについては、やったことないのでわかりませんが。。
場合によっては、ご自分でconfigureする必要もあるかもしれませんね。

>の部分も同様に『Host name』の部分は自分のサーバのホスト名を入れ、『docBase』の部分は自分で作った
>hogeフォルダの中のwebappsのフォルダの中にあるhogeフォルダの中身をJSP/Servletとして認識させるという>ことなのでしょうか?

はい、そうです。こちらの書き方が悪かったですね。hogeのところをtomcatのサンプルであるjsp-examplesに
置き換えてもらってもかまいません。
 Re: FC5でのJSP/Servlet ( No.6 )
日時: 2006/11/05 01:56
名前: 上弦の月

 こんばんは。

 我武者羅にGoogleで検索しながらサーバ内を探した結果、 httpd.confではなく、/etc/httpd/conf.d/にproxy_ajp.conf というファイルを見つけました。
その中で『LoadModule proxy_ajp_module modules/mod_proxy_ajp.so』という一文を発見したのですが、これはモジュールが入っているということでしょうか?

 また同ファイル内に『ProxyPass /examples/ ajp://localhost:8009/jsp-examples/』という一文がコメント扱いで載っていたのですが、これをコメントアウトすることで動作が可能になるのでしょうか。
 Re: FC5でのJSP/Servlet ( No.7 )
日時: 2006/11/09 22:54
名前: 上弦の月

 独自に色々とやってみた結果、httpd.confに表示は出ていないのですが、httpd -M のコマンドでmod_proxy_ajpを確認しました。

 それでhttpd.confを編集していたのですが、今度はapacheが再起動出来ませんでした。
<Location /hoge/>
  ProxyPass ajp://localhost:8009/hoge/
</Location>
 の部分を追加するのが原因だということは分かっているのですが、どう追加すればいいのかで詰まっています。
hogeの部分は自分で任意に入力すればいいと解釈しているのですが……。
上の3行はhttpd.confの最終行に追加しています。

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.