Javaアプリケーションのデプロイ¶
jarにビルド済のちいさなjavaアプリケーションをEC2上に配置して起動します。
ソースコードを見たい場合はこのredmineプロジェクトのファイルタブからダウンロードできます(demo_web.zip)。
インスタンスへの接続¶
TeraTermでインスタンスにSSH接続します。
jarファイルをダウンロードします。¶
下記コマンドでjarファイルをダウンロードします。
wget https://redmine.apps.kinocoffeeblack.net/attachments/download/180/demo_web.jar
javaのインストール¶
ここではAWSが提供するOpenJDKのCorrettoの11をインストールします。
sudo yum install java-11-amazon-corretto-headless -y
バージョン確認
参考:Amazon Corretto 11 Amazon Linux2 のインストール手順
デモアプリケーションの起動¶
SpringBootに含まれる組み込みのTomcatを使って起動します。
※ コマンドの最後に"&"を付けることでバックグラウンドで起動します。
java -jar demo_web.jar &
補足¶
ここに書いたやり方では、手動で起動しないとjavaアプリケーションが起動しませんので、実際にサーバーとして稼働させる際には向きません。
サービスとして登録することでインスタンスの再起動時などにも自動で起動するようにできます。
AmazonLinux2はCentoOS7等と同様に下記の参考サイトの手順でSpringBootアプリケーションをサービスに登録できます。
Installing Spring Boot applications
補足2¶
SSHログイン時にupdate可能なyumのパケージがある場合、メッセージで「sudo yum update」を促されます。
EC2はマネージドサービスではないので、OSレベルのセキュリティパッチ適用などもユーザ側の責任で行う必要があります。
"yum-cron"を使うと、手作業でのパッチ適用を自動化して手間をへらすことができます(下記参考サイトを参照) ※ ただし本番環境で更新を自動化するのは要注意(やめた方がよさそう)