質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

3回答

15362閲覧

AWSのTomcatに接続できません

Sfidante

総合スコア90

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2015/07/23 14:53

編集2015/07/25 10:02

現在Webアプリケーションを作っているのですが、
AWSのEC2にTomcatをインストールして
アクセスしようとしたところ
「接続がタイムアウトしました」
といったエラーがでてしまい困っています。

原因をどこからどのように確認してばよいかも
わからない状況です。

とても曖昧なご質問で申し訳ないのですが、
解決の糸口をいただけるとありがたいです。


エラーの追記

/var/log/tomcat8/catalina.outのログになります。

25-Jul-2015 09:46:37.630 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-0.0.0.0-8080"] java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:437) at sun.nio.ch.Net.bind(Net.java:429) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:338) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:737) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457) at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120) at org.apache.catalina.connector.Connector.initInternal(Connector.java:960) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:576) at org.apache.catalina.startup.Catalina.load(Catalina.java:599) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484) 25-Jul-2015 09:46:37.633 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8080]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:576) at org.apache.catalina.startup.Catalina.load(Catalina.java:599) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484) Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed at org.apache.catalina.connector.Connector.initInternal(Connector.java:962) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) ... 12 more Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:437) at sun.nio.ch.Net.bind(Net.java:429) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:338) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:737) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457) at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120) at org.apache.catalina.connector.Connector.initInternal(Connector.java:960) ... 13 more 25-Jul-2015 09:46:37.671 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"] 25-Jul-2015 09:46:37.711 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["ajp-nio-8009"] java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:437) at sun.nio.ch.Net.bind(Net.java:429) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:338) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:737) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457) at org.apache.catalina.connector.Connector.initInternal(Connector.java:960) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:576) at org.apache.catalina.startup.Catalina.load(Catalina.java:599) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484) 25-Jul-2015 09:46:37.875 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[AJP/1.3-8009]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-8009]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:576) at org.apache.catalina.startup.Catalina.load(Catalina.java:599) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484) Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed at org.apache.catalina.connector.Connector.initInternal(Connector.java:962) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) ... 12 more Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:437) at sun.nio.ch.Net.bind(Net.java:429) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:338) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:737) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457) at org.apache.catalina.connector.Connector.initInternal(Connector.java:960

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

確認項目としては下記のような感じになると思います。

・Tomcatが正常に起動しているか?
(logを確認)

・Tomcatアクセス用のポートが空いているか?
(apache連携する場合はhttpポート)

・ポートが空いていて、Tomcat正常起動の場合は、Accessログを確認。
またlocalからもwgetなどでアクセスしてみる。

投稿2015/07/23 15:14

chiku_

総合スコア1464

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sfidante

2015/07/24 01:44

ご回答ありがとうございます それぞれ確認をしてみました。 >Tomcatが正常に起動しているか?(logを確認) コマンドプロンプトで ps aux | grep tomcat を使ってかくにんしたところ 起動はしていると確認できました。 >Tomcatアクセス用のポートが空いているか? >(apache連携する場合はhttpポート) 8080及びhttpポートの80も空いております。 >ポートが空いていて、Tomcat正常起動の場合は、Accessログを確認。 >またlocalからもwgetなどでアクセスしてみる。 Accessログに関しましては、 server.xmlで下記の設定がされているかを確認後、accessログを確認しました。 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="access_log." suffix=".txt" pattern="common" resolveHosts="false"> ログは/var/log/tomcat8/localhost_access_log.2015-07-23.txt に出力されるのかと思い確認をしてみましたが、 何も出力はありませんでした。 確認すべきログは違いましたでしょうか?
chiku_

2015/07/24 04:14

$TOMCAT_HOME/logsに出力されていませんか? ($TOMCAT_HOMEはtomcatインストールディレクトリ)
Sfidante

2015/07/24 05:42

ご返信ありがとうございます。 確認をおこなったところ、 $TOMCAT_HOME/logsには wget-log wget-log.1 wget-log.2 の3つしかなく $TOMCAT_HOME/logsというディレクトリは存在しませんでした ログに関しましては先ほどもうしたものしかなく、 設定によってディレクトリの場所や出力の有無がかわってくるのでしょうか?
chiku_

2015/07/24 05:49

設定は特に触っていなければ$TOMCAT_HOME/logsにログが出力されるはずなのですが・・。 Tomcatログファイル名のcatalina.outでファイル検索してみたらいかがでしょうか?
Sfidante

2015/07/24 06:15

ご回答ありがとうございます。 調べ結果、 localhost_access_log.yyyy-MM-dd.txt という形で出力されるということなので、 みてみたところ 空でした。
chiku_

2015/07/24 06:25

tomcatの起動でエラーなどが発生しているかもしれませんので、サーバーログのcatalina.outを確認してみてください。
Sfidante

2015/07/25 07:15 編集

お返事ありがとう御座います。 >tomcatの起動でエラーなどが発生しているかもしれませんので、 >サーバーログのcatalina.outを確認してみてください。 確認いたしましたところ、 下記の2つのサーバーログがありました。 /opt/tomcat8/logs/catalina.out /var/log/tomcat8/catalina.out 本日tomcatを起動させてログを見てみましたが、 これらのログの出力はありませんでした。 find -name '*log*'等で調べましたが、 ログが他にない状態です。
chiku_

2015/07/25 08:37

ログすら出力されないというのはselinuxで弾かれていないでしょうか?有効化されている場合は一旦無効化して確認してみてください。
Sfidante

2015/07/25 09:56

失礼しました。 只今確認したところ 質問に追記いたしましたような ログが出力されておりました。 ポート番号がすでに使われているというようなエラーだと思われるのですが、 対処法といたしまして、 server.xmlに記載されている ポート番号をコメントアウトにしてみましたが、 結果は変わりませんでした。 どういったエラーでどういった対処法が考えられますでしょうか? よろしくお願いいたします。
chiku_

2015/07/25 12:52

tomcatの停止自体が失敗してプロセスが残っている為のエラーが考えられます。 tomcatを一旦停止して、プロセスが残っていればkillしてみてください。 後、特に覚えがなければ8080や8009を使用しているプロセスはないはずですが、ポートを使用しているプロセスを確認した方がいいかもしれません。 netstat -tanp
Sfidante

2015/07/25 13:35

ご回答ありがとう御座います。 chiku_さんのおっしゃられる通り、停止が失敗していた可能性が高かったです。 実際、killをおこない 再度startしたら先ほどまでのエラーはなくなり404のエラーとなりました。 そして、apacheとtomcatを順に停止、起動をおこなったところ Apache Tomcatの画面が表示されました。 長い時間お付き合いいただきありがとうございました。
guest

0

EC2インスタンスの OS のディストリビューション、バージョンがわからないのですが、以下を確認するといいと思います。既に確認済みでしたらすみません。

  • "ss -tln", "netstat -tln" で :80, :8080 が LISTEN になっているか
  • curl, wget などで http://127.0.0.1/, http://127.0.0.1:8080/ に接続できるか
  • curl, wget などで http://(eth0のプライベートIP)/, http://(eth0のプライベートIP):8080/ に接続できるか
  • Firewall (iptables, firewall-cmd) で制限されていないか
  • Security Group, Network ACL で制限されていないか

投稿2015/07/24 02:24

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sfidante

2015/07/24 05:27

ご回答ありがとうございます。 ご教授いただいた各項目に関して確認してみました。 >"ss -tln", "netstat -tln" で :80, :8080 が LISTEN になっているか どちらもLISTENになっておりました。 >curl, wget などで http://127.0.0.1/, http://127.0.0.1:8080/ に接続できるか curlに関しては、 http://127.0.0.1/は接続できました。 http://127.0.0.1:8080/に関しては数分経過した後、 curl: (56) Recv failure: 接続が相手からリセットされました との接続エラーとなりました。 wgetに関しましては、 http:127.0.0.1/では 401 Authorization Required Username/Password による認証に失敗しました。 とのエラーとなりました。 http://127.0.0.1:8080/では ヘッダ内で読み込みエラー(接続が相手からリセットされました)です 再試行しています。 と永遠に再試行をいたします。 >curl, wget などで http://(eth0のプライベートIP)/, http://(eth0のプライベートIP):8080/ に接続できるか こちらも上記と同様の結果となりました。 >Firewall (iptables, firewall-cmd) で制限されていないか こちらに関しては一切設定を変更していないので問題ないかと思っております。 この考え方は危ないでしょうか? >Security Group, Network ACL で制限されていないか インバウンドに8080と80が設定されており、 アウトバウンドはTCPはすべてに開放となっております。 curlとwgetが問題ですので そちらの原因解明につとめます。
guest

0

AWSなので、ここにあるように、
AWS Management Consoleで8080ポートを開放する必要があると思いますが、
実施されたでしょうか?

実施済みであれば、chiku_さんの回答の通りと思います。

投稿2015/07/23 15:25

eripong

総合スコア1546

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sfidante

2015/07/23 15:43

ご回答ありがとうございます。 AWSのEC2のセキュリティブループにおきまして インバウンドのポートは8080を開いております。
eripong

2015/07/23 23:23

ローカルPCのセキュリティソフトによって止められる場合もあります。 それでもなければ、調査のためにはchiku_さんの書いている内容の確認が必必要と思います。 付け加えるなら、アクセス時に使用しているURLでIPアドレス指定してみるなどでしょうか? アクセスというのは、ブラウザでURLを入力してのアクセスと思って良いのですよね?
Sfidante

2015/07/24 01:51

ご返信ありがとうございます。 >ローカルPCのセキュリティソフトによって止められる場合もあります。 以前、同じようにサーバでTomcatを起動したことがあり、 そのときから現在に至るまで、セキュリティソフトに関しましては、 一切の変更をしていないので、影響はないかなと考えております。 (そのときのログを取らなかったのが失敗でした) >アクセス時に使用しているURLでIPアドレス指定してみるなどでしょうか? EC2で設定されているパブリックIPでのアクセスをおこないましたが、結果は同じでした >アクセスというのは、ブラウザでURLを入力してのアクセスと思って良いのですよね? ブラウザでURLを入力しておこなっております
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問