[AWS]스프링부트 배포용 EC2서버 만들기 3
https://jsphoto-traintravel.tistory.com/28
[AWS]스프링부트 배포용 EC2서버 만들기 2
https://jsphoto-traintravel.tistory.com/26 [AWS] 스프링부트 배포용 프리티어 EC2서버 만들기 우선 AWS를 접속해서 회원가입을 하고, 서버를 바꿔주자. 이 경우, 해외에서 사용/서비스 할 경우에는 해당 국가
jsphoto-traintravel.tistory.com
이전 게시글에서 이어진다.
지금까지 스프링 부트 프로젝트를 배포하기 위한 AWS에서의 사전준비는 모두 마쳤다.
이제 열심히 만든 스프링 부트 프로젝트를 서비스할 수 있도록 빌드해보자.
다음과 같이 스프링부트 프로젝트가 있는 디렉토리에서 터미널을 실행해준다.
윈도우 기준으로 다음 명령어를 입력해 프로젝트를 빌드해주자.
./gradlew clean build
다음과 같이 출력되면 빌드가 성공한 것이다.
거의 다 됐다. ./build/libs/ 디렉토리에 생성된 "project-0.0.1-SNAPSHOT.jar" 파일을 이용해서 서비스를 배포해 줄 것이다.
해당 .jar파일을 이용하기 좋게 이전 포스트에서 언급했던 키.pem 파일이 있는 디렉토리로 옮겨준다.
이제 .jar파일을 AWS EC2서버로 옮겨줘야 하는데, scp를 사용해서 옮기도록 하자.
https://ict-nroo.tistory.com/40
[AWS] EC2 ssh 원격 접속과 scp를 통한 파일 전송
AWS EC2 ssh 원격 접속과 scp를 통한 파일 전송 EC2 인스턴스 생성이 성공적으로 끝났다면, 다음과 같이 CLI환경에서 ssh를 통해서 EC2에 원격 접속을 할 수 있고, scp를 통해 간단한 파일 업/다운로드를
ict-nroo.tistory.com
해당 게시글을 참고했다.
#key.pem 파일과 프로젝트.jar이 있는 디렉토리
scp -i [.pem 파일 경로] [업로드할 파일 이름] [ec2계정명]@[ec2 인스턴스 DNS]:~/[ec2내부 경로]
다음과 같이 사용하면 되는데, 예시를 들자면,
scp -i key.pem project.jar ubuntu@ec2~~~:/home/ubuntu
이렇게 작성하면 된다. ec2~~~는 이전 포스트에서 ec2에 접속하기 위해 사용했던 그것을 따르면 된다.
업로드 이후, ec2서버에 접속해주자. <터미널로 접속할 경우 터미널을 관리자 권한으로 실행하는 것을 까먹지 말것>
접속하면 다음과 같이 방금 올린 .jar 파일이 올라가 있을 것이다.
이것을 ubuntu에서도 작동하기 위해 jdk가 필요하다. 설치해주자.
~$ sudo apt update
~$ sudo apt install openjdk-11-jdk
필자는 jdk 11버전을 사용해 프로젝트를 빌드했으므로 11버전을 설치했는데, 이는 본인 사양에 맞추면 되겠다.
설치가 잘 되었다면, java -version명령어로 버전을 확인할 수 있다.
이제 진짜 배포를 해보자.
~$ nohup java -jar project-0.0.1-SNAPSHOT &
잘 실행되었다면 성공이다! 이제 EC2서버에 직접 만든 스프링부트 프로젝트를 배포했다.