Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Tomcatが起動しない(要求されたアドレスが割り当てられない)

お世話になります。

いろいろ調べてみているのですが、皆さんの御知恵をお貸しくださいませ。
Tomcat+Apache連携でmod_jk2を使って行おうとしています。

※インストールしたもの
Apache2.0.59
jakarta-tomcat-5.0.28.tar.gz
jakarta-tomcat-connectors-jk2-src-current.tar.gz

/opt/src/Tomcat/jakarta-tomcat-5.0.28/logs/catalina.outをみると以下のようなエラーが
出力されて、Tomcatが起動してきません。
どなたかご教授下さい。宜しくお願い致します。

<抜粋>
2007/01/18 13:28:36 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1をポート http-7000 で起動します
2007/01/18 13:28:37 org.apache.coyote.tomcat5.MapperListener registerEngine
警告: Unknown default host: localhost
2007/01/18 13:28:39 org.apache.jk.common.ChannelSocket init
情報: JK2: ajp13 listening on /0.0.0.0:8009
2007/01/18 13:28:39 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=1/395  config=/usr/local/tomcat5/conf/jk2.properties
2007/01/18 13:28:39 org.apache.coyote.tomcat5.MapperListener registerEngine
警告: Unknown default host: localhost
2007/01/18 13:28:39 org.apache.catalina.startup.Catalina start
情報: Server startup in 32539 ms
StandardServer.await: create[7001]: java.net.BindException: 要求されたアドレスを割り当てられません。
java.net.BindException: 要求されたアドレスを割り当てられません。
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331)
        at java.net.ServerSocket.bind(ServerSocket.java:318)
        at java.net.ServerSocket.<init>(ServerSocket.java:185)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:496)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:619)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:579)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)

18

回答

28575

閲覧

18件の回答

評価

0

なにか調べてみましたか。

評価

0

「なにか」→「なにを」
でした。

評価

0

言葉足らずでも申し訳ないです。

当初、何も考えずに、以下のサイトを参考に
ttp://solaris-user.com/apache/apache-ssl.html
ApacheのインストールとSSLの設定を行ったのですが
SSLの設定は、とりあえずしなくてもよくなったことから
本等でいわゆる簡単なインストールを(
Apache→Tomcat→mod_jk)を行ったのですが、Apacheの
初期画面までは表示されるのですが、TomcatをインストールしたあとのJakartaの初期画面が表示されないので、
catalina.outを確認してみたところ、先程のエラーが
表示されていることで起動されてないと判断しております。
(telnet サーバーIPアドレス 7000もやってみましたが
接続に失敗となったので、立ち上がってないと判断)

Google等で、Tomcatが起動しないというサイトを見て
回ったのですが、類似のエラー表示されている方が
私の調査範囲にはいらっしゃらなかったので、この掲示
版に書き込みさせて頂きました。

今はひとつ理解していないのかもしれませんが、server.xmlやhttpd.confに設定している「localhost」ですが、これはサーバー側(今回Solaris10です)の/etc/hostsにかいてあるlocalhostをさしていること
で認識はあっているんでしょうか?
SolarisにはTelnet接続でしか接続できないので、local
host:8080と自分のIEで処理を行うと、クライアントPCの
localhost(?)を参照しているのではないかと思って
いるのですが・・・。考え違いをしていたらご指摘下さい。
(設定でlocalhostとなっている箇所を、サーバーのIPなどにも変更してみたのですが、変わりませんでした)
何が悪さしているのかさっぱりわかっていません・・・。

長文・乱文申し訳ありませんが、宜しくお願い致します。

評価

0

>類似のエラー表示されている方が
私の調査範囲にはいらっしゃらなかったので、
http://www.google.com/search?q=StandardServer.await%3A+create+java.net.BindException
けっこういるようです。

localhostは、常に自分のPCを指します。
自分のPCのhostsで指定しているので書き換えることはできますが、普通そういうことはしません。
これはlocalhostを調べれば分かるはずです。

評価

0

mioさん
いちいち突っ込むような還しはやめてくれませんか。
回答は自由にできるようですが、
読む側も気分が悪いです。
わざわざ突っ込んでまでいいたいのですか?

回答者以前に「人」として勉強しましょう。

評価

0

localhostの件は、了解しました。
ちょっと難しく考えていたみたいです・・。

Tomcatのエラーについては、Googleで検索した結果で
英語サイトは無視していました・・・。面目ないです。
(日本語のサイトではリンク切れやちょっと意味が
違っていたりしたので。。)
とりあえず、再度、Apacheから入れなおしてやってみます。
以上です。

評価

0

>部外者さん
あなたがそう思うことも自由です。

評価

0

中年初心者さんまったく関係ない
書き込みを行い申し訳ありません。
あまりにも感情的になってしまい、
新規スレッドではなく、こちらへ
書き込んでしまいました。

引き続きご利用いただければとおもいます。

評価

0

※部外者さんへ
私の聞き方も聞かれる側にしたら「?」だったかも
知れないのでmioさんを責めないで下さい。
もう少し、私の方が上手に質問できたら、このような
事にならなかったと反省しております。

※mioさん
厳しいコメントありがとうございます。
でも、リンクが張ってあったり、それなりのヒントが
記入してあったので、私としては助かりました。
ありがとうございます。

勝手な申し入れかもしれませんが、こんかいのような
「java.net.BindException: 要求されたアドレスを割り当てられません」とcatalina.outに出力された場合、どのあたりが怪しいかだけでも、今後の参考として教えていただけたらと思います。

httpd.conf
worker2.properties
jk2.properties
server.xml

上記のファイルの設定だけで、今回のエラーは回避できるのでしょうか?
宜しくお願い致します。

評価

0

こういう掲示板のやりとりで、感情的になったら負けです。

>中年初心者さん
そう申し訳なく思う必要はないでしょう。
今に始まったことではないので、いちいち気にしてはいません。

それで、

>「java.net.BindException: 要求されたアドレスを割り当てられません」

については、私自身遭遇したことのない例外なので確実なことは言えません。
怪しいとすれば(検索結果からも読み取れると思いますが)ポートの設定でしょう。


今見ると「自分のPC」って表現が変ですね。「自分」だけで良いか。

評価

0

mioさん

ご回答有難うございます。
私もポートの設定が怪しいのかと思って、先程書いた
confファイルをいじっていたのですが、解決には
いたりませんでした。。。
netstat -a等を利用して空きポートを確認して記述
したんですけど・・・。

とりあえず、現在Apacheの再インストールから始めてるので、そこからひとつひとつ細かく確認していきます。
また御知恵をお借りする事もあると思いますが、
その際は、また宜しくお願い致します。

評価

0

想像ですが、「使われていないか」だけではなく、「閉じられていないか」も考慮せねばならないかもしれません。

評価

0

ログの
>警告: Unknown default host: localhost
が気になりますね・・

>ava.net.BindException: 要求されたアドレスを割り当てられません。
はポートが衝突しているというメッセージではない気がします。
衝突しているとpjava.net.BindException: Address already in use: hoge
ですよね。
このメッセージはpjava.net.BindException: Can't assign requested address のようなので。
そのまんまアドレスが割り当てられないのかもしれません。
/etc/hostsは正常でしょうか?
server.xmlもみなおした方が良いかもしれません。

Solarisにログインしてping localhost
はおそらく通るんですよね、権限の問題だと他のメッセージになりそうですが。

>StandardServer.await: create[7001]:
これはポートを表しているようですが、何のポートでしょうか?

評価

0

tamaさん

ご回答有難う御座います。
ご返事が遅くなり申し訳ありません。

言われております/etc/hostsはとりあえず、正常(特にさわっていない)です。
server.xmlのどの辺り(localhostと記述してあるところだとは思いますが)を確認してみたらよいでしょうか?

pingに関しては、特に問題ありませんでした。

最後のポートの件については、空いてそうだったので
ためしに7001を使用してみただけです。
(判らないなりの悪あがきです。。。)

以上です。

※現状としては、時間的に余裕もなかったので、昨日の時点で、OSから再インストールしApache+Tomcatをインストールして単体での動作確認はできたのですが、mod_jkの設定で上手くいっていないらしく、サンプルのjsp等が404になってしまっています。Calatalina.outには「以前のエラーのためにコンテキストの起動が失敗しました」なんてエラーがでておりました。
とりあえず、現在調査している段階で、この掲示板に舞い戻ってきた次第であります。
確か過去ログにあった気が・・・またよろしくお願い致します。

評価

0

>OSから再インストールしApache+Tomcatをインストールして単体での動作確認はできたのですが

なるほど、ということはとりあえず2007-01-18 20:57までの、問題はクリアされたようですね。

現在はApacheとTomcatの連携で問題が出ているということですね。
この辺はたくさん情報があるので大丈夫だと思いますよ。

とりあえず404だとmod_jk.confの設定でしょうか。
JkMount /jsp-examples/* ワーカー名
が入っていて/jsp-examples/で404なら、他の問題だと思いますが。
入ってますか?

というか既に解決されているかもしれませんね。

評価

0

tamaさん
ご返事遅れました。すいません。
さて、tamaさんが
>というか既に解決されているかもしれませんね。
と言われましたが、未だ解決できておりません・・・。

tomcatの起動時に、catalina.outを参照していると
情報: URL file:/opt/src/tomcat-5.8.8/webapps/ROOT からコンテキストパス  にWebアプリケーションをインストールします
2007/01/21 12:25:20 org.apache.catalina.core.StandardHostDeployer install
情報: URL file:/opt/src/tomcat-5.8.8/webapps/jsp-examples からコンテキストパス /jsp-examples にWebアプリケーションをインストールします
2007/01/21 12:25:20 org.apache.catalina.core.StandardContext start
致命的: Error filterStart
2007/01/21 12:25:20 org.apache.catalina.core.StandardContext start
致命的: 以前のエラーのためにコンテキストの起動が失敗しました
2007/01/21 12:25:20 org.apache.catalina.core.StandardHostDeployer install
というのが出ているためなのか、やはりsample画面が表示されません。
で、tomcatの設定だと思いまして、以下の3つのファイルを修正してみました。

■server.xml
  <Service name="Catalina">
    <!--
    <Connector port="8080" />
    -->
    <!-- This is here for compatibility only, not required -->
    <Connector port="8009" protocol="AJP/1.3" />

    <Engine name="Catalina" defaultHost="localhost">
      <Logger className="org.apache.catalina.logger.FileLogger" />

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase" />

      <Host name="localhost" appBase="webapps" />

      <Context path="/jsp-examples" docBase="webapps" debug="0"
            reloadable="true" crossContext="true">
      </Context>

      <Context path="/servlet-examples" docBase="webapps" debug="0"
            reloadable="true" crossContext="true">
      </Context>

    </Engine>
  </Service>

■mod_jk.conf
LoadModule jk_module modules/mod_jk.so
#AddModule mod_jk.c <=ここでコメントをはずすとエラーになるので、コメントにしました。

#worker.properties path
JkWorkersFile /usr/local/tomcat/conf/workers.properties

#jk log path
JkLogFile /usr/local/apache2/logs/mod_jk.log

#LogLevel
JkLogLevel warn

#JkMount /*.jsp ajp13
JkMount /jsp-examples/*.jsp ajp13
JkMount /servlet-examples/* ajp13
Alias /examples "/usr/local/tomcat/webapps/"
<Directory "/usr/local/tomcat/webapps/jsp-examples">
    Options Indexes FollowSymLinks MultiViews
</Directory>
<Directory "/usr/local/tomcat/webapps/servlet-examples">
    AllowOverride None
    deny from all
</Directory>

■workers.properties
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/j2se
ps=/

worker.list=ajp13

worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.cachesize=10
worker.ajp13.cache_timeout=600
worker.ajp13.socket_keepalive=1
worker.ajp13.socket_timeout=300

エラーにも出ているようにコンテキストの設定がおかしいのかもしれませんが、どの部分がどうおかしいのか、こちらのサイトを参照しながらやってみたのですが、今のところ手詰まりな感じです。
申し訳ありませんが、御知恵をお貸し願えれば幸いです。
以上です。
※ソースを記入したもので長文になってしまい申し訳ありません。

評価

0

> Error filterStart
これは、web.xmlのフィルタ設定がおかしいか、フィルタ自体がおかしいか、フィルタのinit()で例外を出しているかでしょう。
フィルタの起動に失敗すると、コンテキストのほかの設定にミスがなくてもコンテキストを起動できません。
こちらを解決するのが先決でしょう。

評価

0

mioさん

ご回答有難う御座います。
とりあえず、何かこちらで作成したJspを動作させるわけでもなく、Tomcatのサンプルがまず動く事が先決だと思いまして調べていたところ、Solaris版の5.0.28のtar.gz版はなにやら、今回のエラーがでるとの報告があったもので、zip版をダウンロードして、デフォルトのまま動作させてみたところ正常にjspなりservletなりが動作いたしました。
なにやら腑に落ちない部分もありますが、とりあえずここからmod_jkの連携に行きたいと思います。
いろいろご意見有難う御座いました。
またはまってしまい、身動きが取れなくなったら御知恵をお借りに参上したいと思いますので、その節は宜しくお願い申し上げます。
以上です。
※長文、失礼しました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。