[V1] AWS EC2 기본 배포하기 - .jar로 배포하기

썸머·2023년 5월 10일

전체 진행순서

  • 로컬에서 github으로 프로젝트 업로드
  • EC2에서 github 프로젝트 다운
  • 프로젝트 테스트 및 빌드
  • nohub으로 백그라운드 실행
  • 오류 로그 남기기
  • 서버가 종료되면 cron으로 자동 재시작

1. EC2 서버 생성 및 고정 IP 설정

EC2 인스턴스 생성

고정 IP 설정

유동 IP를 이용하면 계속 IP가 바뀌기 때문에 서비스를 할 수가 없다. 따라서 유동 IP는 일반 가정집에서 사용하고, 서비스를 하기 위해서는 고정 IP를 사용해야한다.

탄력적 IP 생성

탄력적 IP 주의사항

고정 IP가 더 비싸지만 AWS는 프리 티어 사용자에게 탄력적 IP 하나를 무료로 제공해 줍니다.

조건: EC2 서버에 탄력적 IP를 연결해야 합니다.

탄력적 IP 연결

2. 프로젝트 배포하기 v1

프로젝트 git clone

git --version

git clone (프로젝트 git 주소)
  • 프로젝트 폴더 생성

gradlew 실행 권한 부여

  • gradlew
    - 프로젝트를 빌드 해주는 실행파일이다.
    - 내장 gradle을 이용해 Gradle 명령어를 실행하기 위한 환경설정 부터 실행까지 모두 수행한다.
    - 프로젝트를 실행파일(.jar)로 변경할 수 있다.
  • Gradle
    - 빌드 자동화 시스템
chmod u+x gradlew
  • gradlew 파일에 실행 권한 부여

JDK 설치

sudo apt update
sudo apt install openjdk-11-jdk
java --version //JDK 버전 확인

실행 파일로 변경(gradlew)

./gradlew build

실행파일로 변경할 때 gradlew build라고 적으면 gradlew를 파일이 나닌 전역적인 환경변수로 인식한다.
그래서 ./를 추가하여 현재 폴더에 있는 실행 파일로 빌드 하라고 알려줘야 한다.

결과
build 폴더 생성이 되고 build 폴더 내부의 libs 폴더 내부에 실행파일이 만들어져 있다.

jar 파일 실행하기

java -jar v1-0.0.1-SNAPSHOT.jar
(ip 주소)/aws/v1

터미널을 종료하게 되면 foregroud로 실행중인 서버가 강제 종료됩니다.

profile
썸머의 개발블로그

0개의 댓글