본문 바로가기
Back-end/Spring

[AWS] Springboot EC2 배포 - Ubuntu

by 지구코드 2024. 12. 26.
반응형

인스턴스를 생성한 이후부터 작성합니다.

 

인스턴스에 연결!

 

설치한 프라이빗 키가 있는 주소로 가서 터미널을 엽니다.

 

chmod 400 "프라이빗키이름"

 

키 권한을 수정하지 않으면, 실행이 안 됩니다.

ssh -i "aws-AirChat-key.pem" ubuntu@ec2-3-35-171-53.ap-northeast-2.compute.amazonaws.com

 

이때, 실행이 안 된다면 절대 경로로 .pem 키를 입력해보세요.

저는 절대 경로로 해야 실행이 됐습니다.

 

이제 깃을 클론해줍니다. 만약, private 레포지토리라면 ssh 키를 다음과 같이 생성해주어야 합니다.

ssh-keygen -t rsa -C 깃허브주소

 

이제, 깃허브에서 클론을 받아오면 됩니다.

 

git clone [ssh 주소]를 입력해줍니다.

 

만약, 코드가 수정되었다면 pull을 받아옵니다.

git pull origin main

 

 

빌드는 pull을 받을 때마다 해주어야 합니다. 만약! 처음 build를 시도하면 실행이 안 될 수 있습니다. 

chmod +x gradlew

 

위 명령어 실행 후, 빌드하면 됩니다.

./gradlew build

 

 

그러나, 빌드 도중 무한 로딩이 되는 경우가 있습니다.

이는, aws 프리티어의 용량의 문제입니다.

노트북을 껐다가 켜니 저는 빌드에 성공했습니다.

 

 

build/libs 경로로 가서.jar 파일을 찾아줍니다.

 

cd build/libs

ls → java -jar airchat-0.0.1-SNAPSHOT.jar

 

nohup [java -jar airchat-0.0.1-SNAPSHOT.jar] &

tail -f nohup.out

 

-> 서버가 잘 돌아가는 것을 확인할 수 있습니다.

 

pull을 받게 되면, 실행 중인 서버를 재시작해야합니다.

ps aux | grep java

kill <PID>

sudo kill -9 2493

 

프로세스 아이디가 1338이라면 kill 1338로 서버를 멈추고, 클론받은 폴더 경로에서 아래의 순서로 하시면 됩니다!

git pull origin main
./gradlew build 
cd build/libs 
nohup [java -jar airchat-0.0.1-SNAPSHOT.jar] &
tail -f nohup.out

 

반응형

'Back-end > Spring' 카테고리의 다른 글

[오류해결] IntelliJ Cannot resolve symbol 오류  (0) 2022.10.11

댓글