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

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

ただいまの
回答率

87.78%

[Java]AWS EC2 デプロイ後の404エラーを解決したい

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,605

score 7

前提・実現したいこと

自分で実装したJava(Spring Boot)プログラムのwarファイルを作成し、
AWSのEC2上にデプロイした際に下記エラーにどハマりしています。

EC2の環境構築や、デプロイなどはコチラを参考にしました。※RDSの設定のみ未だです。
具体的な手順
1.Eclipse→実装→Maven→War
2.EC2 LinuxにApacheインストール→Tomcat9インストール
3.WarをTomcatへデプロイ
4.配備後、404エラー

Springプログラム自体の設定か何かに、問題がありそうな感じですが、
ググってもなかなか検討つかないので、ご教示いただけると嬉しいです。
また、勉強不足で申し訳ないのですが、
TomcatやApacheのログの確認方法が、調べても出てこなかったので、参考サイトがあればぜひご教示いただきたいです。

試したこと

・http://localhost:8080/~ にてSpringプログラムは問題なく起動している。

・warファイルの場所
/opt/apache-tomcat-9.0.33/webapps/~

・サーバー側と、アプリ側のTomcatと、Javaのバージョン確認。
→どちらも問題ないようでした。

・ApacheとTomcat、それぞれのテストページは問題なく表示される。

・Tomcatの再起動→変化なし

環境やバージョン

Java: 8
Spring Boot: 2.2.5
OS: Windows7
IDE: Eclipse 2019-12 (4.14.0)
Tera Term: 4.105
amazon_linux t2.micro

発生している問題・エラーメッセージ

http://ec2-XX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com:8080/demo/

HTTPステータス 404 - 見つかりません。
タイプ ステータスレポート
メッセージ /demo/
説明 オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。

ソースコード

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <vaadin.version>14.1.18</vaadin.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>
~一部省略~
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>6.11.0</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-bom</artifactId>
                <version>${vaadin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <finalName>demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>false</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

Webサーバーのセキュリティーグループで8080ポートは開放されていますか?
以下のようにポート8080をインバウンドルールに追加
イメージ説明

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/09 15:00

    >このようにアクセスしたいのでしょうか?
    >browser -> apache httpd -> tomcat
    →おっしゃる通りです。

    >上記の通りなら、下記を参照されてはいかがでしょうか.
    >https://qiita.com/Dace_K/items/9d0419aefcb969335ca5
    →ご提示いただき、有難うございます!
    早速このページの内容(参照元を含め)を試しましたが、うまくいきません。
    下記は手順とご質問です。
    ご教示いただけますと、嬉しいです。

    【Apacheのインストール】
    ○インストールはもとより完了している。
    ○SELINUXを無効化する。
    「setenforce 0」とコマンドを入力すると、「setenforce: SELinux is disabled」と表示されたので、すでに無効化されていると解釈。
    ○Firewallを無効化する。
    そもそも「systemctl: command not found」のため、無効化できない。
    調べましたが、他の手段がみつかりません。
    ○テストページは表示されます。

    【Tomcatのインストール】
    こちらもインストールしてあり、テストページも表示される。

    【Webアプリケーションマネージャを起動する】
    今回GUIで管理する必要があまりないと考え、こちらは行っておりません。

    【ApacheとTomcatの連携設定】
    表記の通り、コメントアウトをはずしたり、ファイルにソースを書き込んだりして、Apacheの再起動をしましたが、「http://<IPADDR>/docs/」を表示した時に、「503 Service Temporarily Unavailable」と表示され、Tomcat側のページが表示さません。
    これがサーバーが超負荷状態であることは、調べて理解できたのですが、それを解決する方法がいまいちわかりません。。

    キャンセル

  • 2020/04/09 17:30

    https://cloudear.jp/blog/?p=1124
    こちらのページがシンプルに記載されております。
    ご参考になれば幸いです。

    キャンセル

  • 2020/04/10 10:29

    ご提示有難うございます。
    こちらを参考に進めてみたのですが、~8009番ポートで動かないどころか、
    今度は下記URLどちらもTomcatのテストページすら表示されなくなってしまいました。
    http://ec2-XX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com:8080/
    http://localhost/8080

    どうしたものでしょうか。。

    キャンセル

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

  • ただいまの回答率 87.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る