LoginSignup
3
6

More than 3 years have passed since last update.

SpringBootで作成したWebアプリをEC2にデプロイするときに躓いた話

Posted at

はじめに

自分用のメモです。

開発環境

・Windows10
・OpenJDK 1.8
・SpringBoot 2.2.4
・Gradle 6.3
・MySQL5.7
・AWS(EC2・RDS・VPC)

作業の流れ

1.デプロイ用のSpringBootアプリを用意
2.EC2・RDS・VPCを準備する
3.Amazon Linux2で必要ツールをインストール
4.Buildしてデプロイ

1.デプロイ用のSpringBootアプリを用意する

こちらは何でも構わないので自身で作成しているアプリで可

2.AWS(EC2・RDS・VPC)の用意

ここは後日投稿する予定です

3.Amazon Linux2で必要ツールをインストール

EC2にログインしyumを最新にします

# yum update

Gitのバージョンを確認とインストール

# yum search git
# yum install git

Gitがインストール終わったら一応確認

# git --version

Java8をインストール

# yum install -y java-1.8.0-openjdk-devel

Tomcatをインストールし配置しなおす
詳しくはこちら

gitをクローンする

# git clone https://github.com/sample.git

クローンしたディレクトリに移動しgradlewの権限を広める

# chmod 755 gradlew

このままビルドしたいがapplication.propertiesに移動し設定変更
application.propertiesは環境に依存する関係

# cd src/main/resources
# vim application.properties

MySQLのURLがlocalhostになっていると思うのでここを変更

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://「localhost」←ここ!:3306/sample?serverTimezone=JST
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.initialization-mode=always

localhostの部分をRDSのエンドポイントに変更

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://~~~~~~~~~~:3306/sample?serverTimezone=JST
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.initialization-mode=always

これでRDSに接続していけるように変更しました。
ここからbuildしていきます!!

# ./gradlew build

ビルド終了次第buildのlibs配下に移動
ビルドしたアプリケーションがあると思うので権限を緩めるのと
持ち主とグループをtomcatに変更

# chmod 755 sample.war
# chown tomcat:tomcat sample.war

そしてwebapps配下に移動させTomcatを起動させる

# mv sample.war /opt/apache-tomcat/webapps
# systemctl start tomcat.service

EC2の設定したURLに接続してあげると・・・

以上です

3
6
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
6