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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Tomcat

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Apache Tomcat

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

Q&A

解決済

1回答

4888閲覧

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

kachikata96

総合スコア28

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Tomcat

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Apache Tomcat

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

0グッド

0クリップ

投稿2020/07/02 11:39

学習の一環として、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ページを公開したい


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

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

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

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

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

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

guest

回答1

0

ベストアンサー

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

投稿2020/07/02 13:05

kiryuM

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問