개발/Spring Boot 배포

Spring Boot AWS EC2 배포(1)

sungin95 2023. 11. 9. 14:21

이 글은 Spring을 배포하기 위해 공부하면서 겪었던 어려움을 정리하기 위해 작성되었습니다. 

 

1부에서는 8080 포트를 이용하는 기본적인 배포와 

2부에서는 nginx와 certbot을 활용 hppts 프로토콜을 사용하는 배포를 진행할 예정입니다. 

 

(저는 따로 설정을 통해 8081 포트를 사용하였습니다.)

 

우선 EC2 인스턴스 생성까지 마치고 접속한 모습입니다. (ubuntu를 사용했습니다.)

 

이 부분까지 어려우신 분은 아래 링크를 참고해 주세요.(리액트 배포를 위해 만들었지만 인스턴스 생성 과정은 같습니다.) 

https://plants-growth.tistory.com/30

 

리액트 EC2 배포(1)

한개의 사이트를 직접 배포해 보고 싶다는 생각에 시작하면서 배웠던 방법을 정리하는 글입니다. 깊은 내용에 대해서는 잘 모르고 쓰는 글임을 알려 드립니다. 글은 포트 번호 기준으로 총 3편

plants-growth.tistory.com

 

포트도 8080(기본포트), 80, 443 을 미리 열어 주세요.

 

 

그럼 시작하겠습니다. 

 

설치

우선 git clone 을 해 주세요. 

 

그리고 java를 설치해 줍니다.(저는 17로 진행했습니다.)

# 설치
sudo apt update
sudo apt install openjdk-17-jdk

# 확인
java -version

 

build 하기 전에

하기전에 만약 프리티어를 사용하고 있다면 메모리 용량이 부족할 수 있습니다. 

부족하면 빌드가 끝이 안나게 됩니다. 

메모리를 추가할 거면 아래 명령어를 쳐 주세요. (우선 빌드를 해 보고 5분 기달려도 안되시면 그때 입력하는 것을 추천드립니다. )

sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048
sudo mkswap /mnt/swapfile
sudo swapon /mnt/swapfile

 

build

 

권한을 변경해 줍니다. 

sudo chmod 777 ./gradlew

 

빌드해 줍니다. 

sudo ./gradlew build

 

빌드 과정에서 오류가 난다면 주로 로컬 환경과 배포 환경이 달라서 일겁니다. 오류를 잘 확인해서 고쳐주시면 됩니다. 

 

BUILD SUCCESSFUL 이 나오면 성공입니다. 

 

체크

배포가 잘 되는지 확인해 줍니다. 

java -jar build/libs/{생성된파일}.jar

 

사이트가 잘 들어가 진다면 성공입니다. 

 

 

 

 

다음글에서는 

Nginx를 사용하여 SSL인증서를 발급받고 https프로토콜을 적용하는 것과

무중단 배포까지 알아보도록 하겠습니다. 

다음글: https://plants-growth.tistory.com/34

 

 

참고 자료:

 

java 설치 

https://xodns.tistory.com/102

 

EC2 java 17,18 설치

https://techviewleo.com/install-java-openjdk-on-ubuntu-linux sudo apt update sudo apt install openjdk-17-jdk 이렇게 설치하거나, 아래처럼 설치하면 된다. https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/generic-linux-install.html

xodns.tistory.com

 

build 및 배포 

https://velog.io/@hyeonwoody/AWS

 

[AWS]EC2에 Spring Boot 배포하기

EC2에 Spring Boot 배포하기AWS EC2 CentOS7Spring Boot + JAVA 111\. 패키지 설치애플리케이션 배포에 필요판 패키지들을 설치(1) git 설치$ sudo yum install -y git$ git --version(2) Java11

velog.io

 

메모리 부족 현상 해결

https://progdev.tistory.com/26

 

[React] Creating an optimized production build... 멈춤 현상 해결 방법

리액트를 빌드하던 중 위와 같이 멈추고 더 이상 진행되지 않는 경우가 있다. 메모리가 부족하게 되면 위 현상이 나타나게 된다. 특히 AWS 프리티어를 쓰는 경우 t2.micro 사양을 사용하게 되는데

progdev.tistory.com