全体の流れ
- [EC2]Amazon Linux2 でJava8の環境構築
- [ローカル]ローカルでSpringプロジェクトを作成する
- [EC2]Springプロジェクトを起動する
Amazon Linux2 でJava8の環境構築
1.sshでEC2インスタンスに接続
$ ssh -i <key名>.pem ec2-user@<パブリックIPアドレス>
2.JREのインストール
$ sudo yum search java | grep jdk
$ sudo yum install -y java-1.8.0-openjdk.x86_64
$ sudo yum search java | grep jdk
ldapjdk-javadoc.noarch : Javadoc for ldapjdk
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK 8 accessibility
java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment 8 with full debug
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos 8 with full debug on
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 8 with
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK 8 API documentation for
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed
java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 8 for packages with
ldapjdk.noarch : The Mozilla LDAP Java SDK
JRE1.8.0をインストール
$ sudo yum install -y java-1.8.0-openjdk.x86_64
※ openjdkとopenjdk-develの2種類があるが、EC2上での開発は想定していないので、今回はopenjdkをインストール。ちなみに上がJREのことで下はJDK。
- java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
- java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
Javaのバージョンを確認しておく
$ java -version
$ java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
ちゃんと1.8.0になっている。
ローカルでSpringプロジェクトを作成する
jarファイル、Java Archive(Javaアーカイブ)とは、Javaプロジェクトに含まれるクラスファイルや画像データなどひとまとめにしたZIP形式の圧縮ファイルのこと。
このファイルをEC2側にコピーして、ビルドしてあげる。
1.プロジェクトからjarファイルを生成
ローカル(自分のPC)にあるSpringプロジェクトのディレクトリに移動して、コマンドでjarファイルを生成
$ cd プロジェクトのディレクトリ
$ mvn clean package
2.sftpでファイルをコピー
## sftp connect
$ sftp -i <key名>.pem ec2-user@<パブリックIPアドレス>
## file put
sftp> put target/<ファイル名>.jar
注意点
- SpringBootプロジェクトのjavaバージョンを8に設定する
-> pom.xmlのpropatyをいじる
<properties>
<java.version>8</java.version>
</properties>
-> 環境パスを変更
$ cd ~/.zshrc
$ vi .zshrc
## 以下の設定を追記する
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8"`
PATH=$JAVA_HOME/bin:$PATH
-> 最後に更新するのを忘れず
$ source ~/.zshrc
Springプロジェクトを起動する
1.sshでEC2インスタンスに接続
$ ssh -i my-key.pem ec2-user@<パブリックIPアドレス>
2.javaコマンドでプロジェクトをビルド
$ java -jar <ファイル名>.jar
$ java -jar todo-app-0.0.1-SNAPSHOT.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.3.RELEASE)
...
AWSでの変更点
Security Groupの変更
- インバウンドルールでポート8080への接続を許可する