はじめに
Amazon Linux 2でSpring Bootをアプリケーションとして登録して起動できるようにしてみました。基本的には公式のドキュメントをそのまま実施しています。
前提
- AmazonLinux2にJDK導入済み
- Gradle
- SpringBoot2
Gradleの設定
サービスとして登録できるようにするための設定を加えます。
1 2 3 |
bootJar { launchScript() } |
jarファイルの生成
以下のコマンドを実施すると./build/libsにjarファイルが生成されます。
生成したファイルをAmazonLinux2の任意のフォルダにコピーします。
1 |
gradle bootJar |
Amazon Linux2にサービスとして登録
サービスの登録方法としてSystem Vとsystemdで方法が異なります。
Amazon Linux 2ではsystemdが採用されているので、systemdにサービスを登録していきます。サービス名.service というファイルを /usr/lib/systemd/system に配置します。
1 2 3 4 5 6 7 8 9 10 11 |
[Unit] Description=${サービス名} After=syslog.target [Service] User=${起動するユーザ名} ExecStart=${jarファイルのパス} SuccessExitStatus=143 [Install] WantedBy=multi-user.target |
サービスの起動
変更を加えたのでリロードした後に起動します。
1 2 3 4 |
# 変更を加えたのでリロード systemctl daemon-reload # サービスの起動 systemctl start ${サービス名} |
まとめ
初めてSpringBootを使ったときは自前の起動スクリプトを用意していたりして、大変でした。サービスに登録できる機能があると便利ですね。