Server

[spring boot/배포] AWS EC2 인스턴스 생성 및 배포 과정

윤윤쿤 2024. 9. 20. 11:03

이전에 ncp를 통해 배포를 했던 적이 있었는데 aws도 대략적인 사용법을 알면 좋을 것 같아서 공부 겸 ^무료^ 서버를 빌려서 배포해보았다.

 

EC2 접속 및 인스턴스 시작

무료 사용 가능한 이미지 중에서 Ubuntu사용

인스턴스 유형은 프리티어 사용 가능이라 써있는걸로....

새 키 페어 생성

이름 정하고(아무거나 괜찮음) 키페어생성

그러면 key.pem 파일이 다운로드 되는데 어디에 저장되어있는지 자알 기억해야함.

 

보안 그룹 생성

http, https, mysql, ssh을 위해 80,443,3306,22 포트를 열어주고 + 배포할 프로젝트가 운영될 포트도 열어준다.

스토리지 구성 30GB까지 가능하다니 30GB로 생성.

 

 

서버 접속

cmd창 접속 아까 받은 key.pem파일이 있는 곳으로 이동.

ssh -i "key.pem" ubuntu@'퍼블릭 DNS'

입력

yes 입력

접속 완료

 

타임존 변경

#root로 로그인
sudo su - root
#타임존 변경
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
#현재 시각 확인
date

자바17 설치

sudo apt-get update
sudo apt-get install openjdk-17-jdk

입력 후 설치 진행

'java -version' 으로 설치된거 확인

 

데이터베이스 설치(mariadb)

sudo apt install mariadb-server

'mysql --version'으로 설치확인

 

접속 > root 계정으로 변경 후

mysql -u root -p

비밀번호 변경

ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운비밀번호';
FLUSH PRIVILEGES;

 

파일질라 접속

설정

연결완료

 

spring boot .jar 파일 배포 및 실행

spring boot에서 생성한 배포파일 .jar 파일질라로 업로드.

java -jar demo-0.0.1-SNAPSHOT.jar

실행

 

백그라운드로 실행

nohup java -jar demo-0.0.1-SNAPSHOT.jar &

 

특정 프로파일로 실행

java -jar -Dspring.profiles.active=prod stt-0.0.1-SNAPSHOT.jar

 

 

실행중인 자바 프로세스 죽이기

ps -ef | grep java

kill -9 <PID>