LoginSignup
3
1

More than 5 years have passed since last update.

Jettyを組み込んだjarファイルをEC2にデプロイする

Last updated at Posted at 2018-07-16

はじめに

前回、EC2にJettyをインストールしました。
AmazonLinuxにJettyを導入してデモサイトを起動してみる

しかし、Jettyをjarファイルに組み込んでしまえば、そもそもJettyをEC2にインストールする必要がないことがわかりました。今回はそのデプロイ手順を紹介します。

Jettyをjarファイルに組み込む方法はこちらでは紹介しませんので、ご了承ください。

jarファイルをデプロイする

カレントディレクトリに以下の2つがあるとします。

  • Jettyが組み込み済みのjarファイル
    • 例. SampleProject-0.0.1-SNAPSHOT.jar
  • sshアクセスのための秘密鍵
    • 例. sample-project.pem

デプロイ先のEC2のアドレスがxxx.yyy.zzz.wwwの場合、以下のコマンドでデプロイできます。

# jarファイルをアップロードする
scp -i ./sample-project.pem -r ./SampleProject-0.0.1-SNAPSHOT.jar ec2-user@xxx.yyy.zzz.www:~/

# sshでEC2にログインする
ssh ec2-user@xxx.yyy.zzz.www -i ./sample-project.pem

# サンプルプロジェクトをJettyで起動する
java -jar ~/SampleProject-0.0.1-SNAPSHOT.jar

これで、 http://xxx.yyy.zzz.www:8080 にアクセスしてみると、jarファイルの内容に応じたサイトが表示されるはずです。

インスタンス起動時に自動起動するようにする。

まず、/etc/init.d/にシェルスクリプトを作成します。

sudo nano /etc/init.d/SampleProject.sh

シェルスクリプトの中身は以下のようにしてください。

#!/bin/sh
# chkconfig: 2345 99 10
# description: start jetty SampleProject

java -jar /home/ec2-user/SampleProject-0.0.1-SNAPSHOT.jar

上記の内容でスクリプトを保存したら、以下のコマンドを実行します。

# 管理者に実行権限を与える
sudo chmod u+x /etc/init.d/SampleProject.sh

# chkconfigにスクリプトを追加
sudo chkconfig --add SampleProject.sh

# マシン起動時にスクリプトを実行するように設定
sudo chkconfig SampleProject.sh on

これで自動起動するようになります。

最後に

これだけで、Webアプリのデプロイが完了しました。Jettyは便利ですね。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1