AWS 배포과정
기존에 만들었던 Spring Security + JWT를 이용해 만들었던 프로젝트를 AWS에 올리는 과정입니다.
저는 EC2와 RDS(MariaDB)를 이용해서 배포했습니다.
인스턴스를 만드는 과정이나, RDS를 추가하는 과정은 인터넷에 널리 있기 때문에 생략하고 진행하겠습니다.
우선
https://mobaxterm.mobatek.net/
해당 사이트에 들어가서 다운로드 페이지에 진입한뒤
Home Edition을 다운로드하고 설치까지 진행합니다.
그럼 위와같은 화면을 마주할수 있습니다.
그럼 좌상단에 Session을 눌러 진입한뒤 Advanced SSH setting 까지 눌러주면
host에는 ec2에 표기되어있는 public ip 혹은 탄력적 ip주소를 넣어줍니다.그리고 use private key를 이용하여서
ec2인스턴스 생성시에 다운받은 key를 넣어줍니다. 그리고 ok를 눌러 완료해주면 mobaxterm을 이용해서 컨트롤 해줄수 있습니다.
프로젝트 .jar만들기
이제 우리의 프로젝트를 jar파일로 만들어주겠습니다.
저는 인텔리제이를 사용하므로 인텔리제이의 터미널에서
./gradew bootjar
를 입력해서 프로젝트를 jar파일로 만들어줍니다.
그럼 해당하는 프로젝트의 내부 build/libs 폴더에 다음과같이 jar파일이 생성됩니다.
그리곤 mobaxterm을 이용해 세부적인 디렉토리들을 만들어주고 해당 파일을 끌어서 탐색기부분에 놓아줍니다.
그러면 조금의 시간이 흐른뒤
요런식으로 파일이 들어가게됩니다.
그러면 EC2 인스턴스에 우리가 만든 jar파일이 올라간것입니다.
cd 경로
를 입력해 jar파일이 있는경로로 진입한뒤
java -jar *.jar
를 입력해주면 우리가 ide에서 실행하듯이 똑같이 실행됩니다.
그리곤 ec2의 ip주소에 tomcat 포트인 8080을 입력해서 진입하면
앞서만들었던 페이지로 진입할수있습니다!
주의사항
저같은 경우 템플릿 엔진을 thymeleaf를 사용하고있는데 초기에 jar파일을 구동시켯을경우엔 오류가 나오지 않았으나 실제로 진입했을때 뷰단을 못찾는 문제가 있었습니다.
문제 해결방법을 찾아보니
application.property에 위와같이 추가해주고
return path에서 앞부분의 "/"를 빼주면 정상적으로 실행됩니다.