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

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

ただいまの
回答率

88.09%

EC2内のTomcatにwarパッケージを配備してプログラムを公開したい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,148

score 27

学習の一環として、Java8、SpringBootによる開発を行っております。
サーバーはAWSのEC2(OSはAmazonLinux2)を使用しています。
warパッケージを生成し、EC2内のTomcatに配備し、プログラムを公開したいと思っています。

こちらの記事を参考に進めました。
https://teratail.com/questions/255847

実現したいこと

EC2にインストールしたApacheとTomcatを、ajpで連携をさせたいです。
具体的には、「http://パブリックIP/」 でアクセスした際に、SpringBootで作成したWebアプリケーションのトップページが表示されるようにしたいです


設定

■ EC2

ElasticIPでパブリックIPアドレスを固定してあります。
セキュリティグループで 80 と 8080 番のポートを開放しています。
■ Apache

インストール :yumでインストール
バージョン:Apache2.4.41
設定  :自動起動設定を有効にしてあります。
挙動   :「http://パブリックIP/」でアクセスすると、Apacheのデモページが表示されます。
■ Tomcat

インストール :wgetで最新版をインストール
バージョン:Tomcat9.0.34
設定  :サービス登録をし、自動起動設定を有効にしてあります。
挙動  :「http://パブリックIP:8080」でアクセスすると、404エラーが表示されます。
「http://パブリックIP:8080/manager/html」でアクセスすると、アプリケーションマネージャーが開けます。

また、webappsフォルダに「test1」という名称のwarファイルを配備しています。
「http://パブリックIP:8080/test1」でアクセスすると、404が表示されます。


上記の設定後、ApacheとTomcatを連携するために試したこと

■ Tomcat

/opt/apache-tomcat/conf/server.xmlで、8009番ポートのコメントを解除

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector protocol="AJP/1.3"
port="8009"
secretRequired="false"
address="127.0.0.1"
redirectPort="8443" />


■ Apache

/etc/httpd/conf.modules.d/00-proxy.confで、モジュールが有効になっていることを確認

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

try① /etc/httpd/conf/httpd.confに直接設定を書き込む

ProxyPass / ajp://localhost:8009/test1/

どこに書き込んだらよいかわからなかったのでとりあえず下のほうに書き込みました。

文字制限のため省略…
#EnableMMAP off
EnableSendfile on

# Enable HTTP/2 by default
#
# https://httpd.apache.org/docs/2.4/mod/core.html#protocols

<IfModule mod_http2.c>
    Protocols h2 h2c http/1.1
</IfModule>

ProxyPass / ajp://localhost:8009/test1/

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

Try② 外部ファイルを読み込む
/etc/httpd/conf/extra/httpd-proxy.confを作成したかったが
ディレクトリが存在しないというエラーが出て作成できず

vi /etc/httpd/conf/extra/httpd-proxy.conf

解決したい問題

Proxyの設定方法を知りたい
webページを公開したい


サーバーに関する知識が乏しく支離滅裂となり申し訳ありませんが何卒ご教授ください。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+1

404ページが表示されてるのであれば、まずはルートパスにindex.htmlを配置して表示させてみてください。
表示が確認できたあとProxy利用するかどうかの要件確認して設定に移ってください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

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