はじめに
SpringBootは実行可能ファイルとして jar 形式と war 形式の2種類のファイルを作成できます。
jar 形式はTomcatが組み込まれており、単体で実行可能です。
war 形式はTomcatがインストールされた環境にデプロイし、実行する必要があります。
今回はjarファイルをCentOS7にデプロイする手順を記載します。
前提
開発環境
IDE:eclipse(4.15.0)
Java:11
ビルドツール:Maven
サーバー環境
OS:CentOS7(仮想マシン)
Java:11
Apache:2.4.6
Jarファイル作成
プロジェクト上で右クリック > [実行] > [Maven install] を選択します。
完了後、[プロジェクトフォルダ] > [target]に「XXX.jar」ファイルが作成されます。
※ここではプロジェクト名「demo」のjarファイル作成
Apache設定
ここでは2つの設定を行います。
- プロキシ有効化
- リバースプロキシ設定
プロキシ有効化
Apacheのプロキシを有効にするには mod_proxy モジュールが有効になっている必要があります。
以下の手順で確認します。
まず、サーバー側の「/etc/httpd/conf/httpd.conf」を開きます。
Tera Termなどでコマンドを実行し、以下を確認してください。
$ cat /etc/httpd/conf/httpd.conf
(中略)
Include conf.modules.d/*.conf
(中略)
「conf.modules.d」以下の「.conf」ファイルを読み込みしています。
次に、「/etc/httpd/conf.modules.d/00-proxy.conf」を開きます。
$ cat /etc/httpd/conf.modules.d/00-proxy.conf
(中略)
LoadModule proxy_module modules/mod_proxy.so
(中略)
「mod_proxy」がロードされていることが確認できればオッケーです。
リバースプロキシ設定
「/etc/httpd/conf.d」以下に任意の名前の設定ファイルを追加します。
ここでは「httpd-proxy.conf」とします。
以下のように記載してください。
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
Apacheの再起動をします。
# service httpd restart
デプロイ
jarファイルをサーバーにアップロードします。
任意のディレクトリにファイルをアップロードしてください。
※ここでは「/opt/bin」にアップロードすることとします。
// ホストマシン側でコマンドを実行する
$ scp [jarファイルパス][ユーザー名]@[アップロード先IPアドレス]:[アップロード先パス]
(例)
$ scp C:\eclipse\workspace\demo\target\demo-0.0.1-SNAPSHOT.jar root@192.168.34.11:/opt/bin
起動
以下のコマンドでjarを起動します。
// サーバー側でコマンド実行する
java -jar [jarファイルパス]
(例)
java -jar /opt/bin/demo-0.0.1-SNAPSHOT.jar
起動したら、ホストマシンのブラウザから以下のURLにアクセスしてください。
URL:http://localhost:8080/