AWS EC2 nginx에 프론트엔드 정적 배포
EC2에서 nginx에 정적으로 파일을 올려 프론트엔드 프로젝트를 배포하는 방법을 강의를 듣고 따로 찾아보며 정리해 봤다. 가장 먼저 AWS에서 EC2를 하나 생성하고 ssh를 이용해 접속해 준다.그다음
constant1601.tistory.com
지난번에는 프론트엔드 파일만 있는 프로젝트를 nginx에 document root에 올려
간단히 배포하는 방법을 알아봤다.
이번에는 프론트엔드 소스가 포함되어 있는 백엔드 페이지를 수동으로 AWS EC2에 배포하고
서비스가 정상적으로 되는지 확인해 보자.
우선 수동배포를 위해 프로젝트의 jar 파일을 만들어야 한다.
Maven을 사용한다면 intelliJ 우측 메뉴바에서 Lifecycle - package를 클릭하면 된다.
빌드가 완료되면 target폴더에 jar파일이 생성되는 것을 볼 수 있다.
이후 깃허브 repo에 해당 jar파일을 업로드해준다.
EC2에서 wget명령어를 이용해 깃허브 repo에 있는 jar파일을 다운받아준다.
이후 EC2에서 jar 파일을 실행시키기 위해 java -jar 파일명.jar 명령어를 입력했지만
java가 설치되어있지 않아 실행시킬 수 없었다.
실행시키고자 하는 프로젝트가 17 버전이므로 그에 맞게 jdk17을 설치해 줬다.
이후 java -jar ~ 명령어를 통해 jar파일을 실행시킨다.
현재 8080 포트를 사용하고 있기 때문에 외부 브라우저에서 8080 포트로 접속해 본다.
접속이 되지 않는다. 지난번 프론트엔드 프로젝트를 nginx의 정적영역에 올려 배포할 때와 마찬가지로
현재 방화벽에 막혀 외부에서 접속할 수 없는 것이다.
EC2의 보안그룹 인바운드 규칙에 8080 포트를 추가해 준다.
그리고 EC2에서 jar파일을 재실행한다.
이후 브라우저로 접속하면 정상적으로 동작한다.
이전 프론트엔드 프로젝트 배포때와 달리 이제는 서비스에서 실제 API를 호출하고 응답을 받는 과정까지 정상적으로
동작하는 것을 확인할 수 있다.
참고
'Practice' 카테고리의 다른 글
서버 도메인 붙이기 (0) | 2025.03.07 |
---|---|
AWS에서 백엔드 서버와 데이터 베이스 서버 연결하기 (0) | 2025.03.06 |
프론트엔드 백엔드 서로 다른 서버로 수동 배포하고 연결하기(feat. CORS해결) (0) | 2025.03.05 |
AWS EC2 nginx에 프론트엔드 직접 배포하기 (0) | 2025.03.04 |
프론트엔드만 있는 프로젝트 초간단 배포 실습(raw.githack) (0) | 2025.03.02 |