Spring boot 프로젝트 deploy하기(feat.AWS) -2

개발자·2022년 4월 2일
0
post-thumbnail
post-custom-banner

이전 포스팅에서는 AWS RDS 이용해서 DB연동하고, EC2 이용해서 배포를 90%정도 성공했다고 말했었음.

근데 SSL 인증서 때문인지 페이지 접속이 안됐었고 그 문제를 해결하기 위해서 아는 분이 운영하고 계시는 스프링 개발 관련 카페에 질문 글을 올렸음.

그랬더니 얼마 지나지 않아 달린 댓글은 이러했음

이전 이야기

로컬에서 빌드 파일을 실행해보라는 말.

여기서 힌트를 얻어 1. 로컬에서 실행도 해보고 2. 터미널에서 직접 jar 파일을 생성하고 실행하는 것.

결과적으로 두번째 방법이 성공 했음.

그래서 오늘은 그 성공담에 대해서 풀어보고자 함.


잡설

참고로 본인은 같은 프로젝트를 maven과 gradle 두가지 환경에서 진행했음.

이전에는 gradle 프로젝트를 intellij에서 직접 build를 하여 jar 파일을 만들고, filezilla를 이용해 jar 파일을 넣어줬었음.

그러나 이번에는 maven 프로젝트로 해보자 했음. 과정은 다음과 같음(참고로 maven과 gradle은 배포 방법이 조금 다름, 정확히 말해 명령어만 조금 다름)


자 이제 배포 시작!

  1. 먼저 터미널을 켜고 우분투에 접속해 줌.

우분투에 접속되면 위와 같은 화면이 출력 됨.

  1. 그리고 깃허브에서 본인이 커밋푸시한 프로젝트를 클론해서 가지고 옴.

클론에 성공하면 위와 같은 화면이 출력 됨.

참고로 git과 java, maven, gradle 등이 설치가 안되어 있다면 미리 설치를 하고 위 과정을 진행하길 바람.

설치는 매우 간단함. 구글링 해보면 다 나옴.

  1. 프로젝트 클론이 완료되었다면 본인의 프로젝트 디렉토리가 생성되어 있는 것을 확인할 수 있음

(명령어는 ls -al 또는 ls -l, ls 옵션에 맞게 그냥 사용 하길)

  1. 원하는 디렉토리로 이동하는 리눅스 명령어(cd {directory name})를 이용해 해당 리렉토리에 들어간 후, 다시 한번 해당 디렉토리에 들어있는 하위 파일들을 검색(ls -al)하면 mvnw파일과 다른 기타 파일들이 생성된 것을 확인할 수 있음.

현재 mvnw 파일의 접근권한은 -rw-rw-r—으로 설정되어 있음. 이걸 좀 바꿔줘야 함.

  1. 접근권한을 변경하는 명령어인 chmod를 이용해 u+x 접근권한을 mvnw에게 주겠다는 뭐 그런 명령어.

이렇게 하고 ls-al로 다시 디렉토리 내 하위 파일들을 검색해보면.

파일의 이름이 녹색으로 변하고, 접근권한도 -rwxrw-r—로 변경되어 있는 것을 확인할 수 있음.

  1. 이제 jar파일을 만들어줘야 함. maven 프로젝트의 경우 intellij에서는 compile을 통해 jar파일을 만들어주는데 터미널에서는 package라는 명령어를 통해 jar 파일을 만들어 줘야함.

참고로 gradle의 경우는 intellij와 터미널 모두 build라는 명령어를 통해 jar 파일을 생성함.

여튼 생성해주게 되면,

위와 같이 빌드에 성공했다는 메세지를 볼 수 있을거임.

  1. ls-al을 쳐서 프로젝트 디렉토리 내부에 있는 파일을 확인해보면 target이라는 디렉토리가 생성된 것을 알 수 있음. cd target이라고 쳐서 해당 디렉토리 내부로 들어가 줌.

  1. 여기서 다시 한 번 ls -al로 디렉토리 내부를 검색해보면 .jar 파일이 생성되어 있을 거임.

  1. 이제 .jar 파일을 실행해주기만 하면 빌드 끝!

명령어는 java -jar {.jar파일명}인데 java -jar 라고 치고 tab키를 누르면 자동으로 .jarv 파일명이 작성 됨.

익숙한 Spring 모양이 출력되고 위와 같이 서버가 실행 되었다는 메세지를 확인 할 수 있음.

이후 본인의 도메인이나 공용ip와 포트번호를 적고 해당 주소로 가면 메인페이지를 만나볼 수 있음!!

오늘은 너~무나도 간단(?)하게 spring boot를 AWS를 이용해 빌드하고 실행하는 법에 대해서 포스팅 했음.!!

아직도 배우고 싶은 AWS 기술들이 굉장~~히 많ㄷㅏ..... 하 설레...

profile
I DEVELOP THEREFORE, I AM 😄
post-custom-banner

0개의 댓글