NoNamexxx
@NoNamexxx

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Spring Boot プロジェクトを本番環境に移行したい。

前提・実現したいこと

Spring Bootでwebアプリケーションの開発をしています。
開発が終わって本番環境に移行したいのですが、途中で躓いてしまいました...

原因・解決方法をご教授頂けたら幸いです。

開発環境、サーバー環境は以下の通りです。

開発環境
言語:java8
フレームワーク:Spring Boot
ビルドツール:Maven

サーバー環境
さくらのクラウド
OS:CentOS7.9
サーバー:Apache2.4.52
※ApacheTomcat9.0.56インストール済み

やったこと

【サーバー構築】
①Apacheのインストール
②jdk1.8.0
③ApacheTomcat9.0.56のインストール&解凍
③「/etc/systemd/system/」配下に「tomcat.service」の作成
④Tomcatの起動

【プロジェクトのデプロイ】
①Springプロジェクトのwarファイルの作成
②warファイルをサーバーの「/opt/apache-tomcat-9.0.56/webapps」配下に配備
③「http.//(ホスト名):80/プロジェクト名/(html)」にアクセス

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

    エラー

スクリーンショット 2022-01-17 040633.png

1

2Answer

何度か出ている「Apache」というのは、HTTPサーバー(以下httpd)のことですよね。
アクセスしている80番ポートもhttpdのものだと思います。
つまり、クライアントからはhttpdにリクエストし、そこからTomcatに代理リクエストさせる構成です。

だとすると、記載の手順には、httpdをリバースプロキシとして動かすための設定が抜けています。
(その意図が無いなら、httpdを停止して、Tomcatを80番に待機させたら解決です。)

1. Tomcat + アプリケーションの動作確認

まずはhttpdを挟まずに、アプリケーションが動作しているかをTomcatに直接アクセスすることで確認します。

デフォルトポートである8080を開放したうえで、http://(ホスト名):8080/プロジェクト名/(html)を確認ください。

何かしらの事情でポートが開放できないなら、サーバー内からhttp://localhost:8080/プロジェクト名/(html)を見ます。
GUIが無ければcurlコマンドなどをお使いください。

2. リバースプロキシの設定・動作確認

次に、httpd越しでアプリケーションにアクセスできるようにします。
具体的にはhttpdにプロキシ用のモジュールを導入して、しかるべき設定を行います。

次の記事などを参考にしてください。

これをやってようやく、http://(ホスト名)/プロジェクト名/(html)を確認できます。
最後に8080を閉じておくのをお忘れなく。

0Like

返信が大変遅くなり、申し訳ございません。
解決致しました。
ありがとうございます。

0Like

Your answer might help someone💌