본문 바로가기
배포

AWS ec2 + rds 이용 스프링 프로젝트 배포 (4) - 스프링 프로젝트 배포

by LDY3838 2024. 1. 22.
반응형

이전 포스트에서까지 ec2와 rds를 이용하여 배포할 서버를 준비하는 과정을 실습하였습니다. 이제 제가 만든 스프링 프로젝트를 배포하고 postman을 이용하여 제대로 동작하는지 테스트를 진행해보도록 하겠습니다.

우선 로컬 환경에서 작동하던 프로젝트를 ec2 서버에 올리기 위해서는 application.properties나 application.yml에 있는 DB 연동 정보를 수정해주어야 합니다.

아래의 그림에서 url에서 하얗게 칠해진 부분에는 DB의 엔드포인트를, password에는 이전 포스트에서 rds의 비밀번호로 설정해둔 값을 넣습니다.

그 후 우측의 gradle을 열어서 bootjar를 더블 클릭해주면 jar 파일이 생성이 됩니다.

위와 같이 jar 파일을 만든 뒤 다시 ec2 서버로 접속을 하여 jdk17 버전을 설치해주도록 하겠습니다. 아래의 명령어들을 따라 쳐주시면 됩니다.

sudo apt update

sudo apt install openjdk-17-jdk

이제 FileZilla를 이용하여 제 컴퓨터의 jar 파일을 ec2 서버로 보내도록 하겠습니다. 따라서 FileZilla를 먼저 설치하신 후 아래의 과정을 따라해주시기 바랍니다.

우선 좌측 상단의 파일을 열고 사이트 관리자를 열어줍니다.

사이트 관리자를 열면 아래의 사진과 같은 창이 뜨는데 설정을 그대로 따라해줍니다. 호스트 칸에는 ec2 서버의 탄력적 IP를 넣고 키 파일은 저희가 생성한 ppk 파일로 설정해줍니다. 포트 번호는 SFTP를 사용하기 위해서 22번으로 맞춰줍니다.

위와 같이 설정을 하고 연결을 하면 아래와 같은 화면이 나오는데 왼쪽 화면에 해당하는 로컬 사이트를 저희가 방금 만든 jar 파일이 있는 위치 즉 해당 프로젝트의 build/libs로 이동하여 줍니다.

로컬 사이트에 있는 jar 파일을 왼쪽의 리모트 사이트로 드래그해주면 파일 전송이 완료됩니다.

이제 ec2 서버에 접속해서 ls를 치면 다음과 같은 파일이 존재하는 것을 확인하실 수 있습니다.

이제 이 파일을 실행시켜보도록 하겠습니다.

java -jar [jar 파일명]

위와 같은 명령어를 실행하면 스프링 프로젝트가 정상적으로 동작하는 것을 확인하실 수 있습니다.

이제 이 프로그램이 정상적으로 동작하는지 postman을 이용하여 테스트해보도록 하겠습니다.

아래의 그림에서 흰 색 칸에는 ec2 서버의 탄력적 IP 주소가 입력되어 있습니다.

위의 그림을 보면 정상적으로 동작하는 것을 확인하실 수 있습니다. 하지만 위와 같은 방식으로 배포를 하면 ec2 서버를 닫게 되면 더이상 서버가 제대로 동작하지 않습니다.

따라서 아까 입력한 명령어에 &를 마지막에 붙여서 실행해줍니다.

nohup java -jar [jar 파일명] &

위와 같은 명령어를 치면 백그라운드에 프로그램이 실행됩니다.

bg 명령어를 치면 백그라운드에 몇 개의 프로세스가 작동하고 있는지 나옵니다.

ps -ef | grep java를 치면 process id를 알 수 있고 나중에 프로세스를 종료하려고 하면 kill -9 [pid]를 해주시면 됩니다.

 

지금까지 ec2와 rds를 이용하여 스프링 프로젝트를 배포하는 방법에 대해서 알아봤습니다. 감사합니다.

반응형

댓글