EC2 생성
키 페어 파일 권한 변경
ssh 연결 및 깃허브 설치
자바 설치 및 환경변수 설정
스프링 빌드, 실행, 종료

aws에서 ec2 인스턴스 생성 클릭
이름 : ec2 이름 설정
Ubuntu : Ubuntu 프리티어 선택

인스턴스 유형 : t2.micro로 설정
키 페어 이름 : 새 키 페어 설정 클릭시 키 페어 이름과 .pem형식 선택 후 생성
키 페어 생성시 키 페어 파일이 다운로드됨 후에 ssh 접속을 시도할때 해당 파일 필요

보안 그룹 생성 과 동시에 설정을 진행
윈도우의 cmd 환경에서 ssh로 연결을 시도할거라 내 ip에서만 ssh접속 허용
테스트를 위한 ec2생성임으로 http설정

프리티어 버전에서 선택할 수 있는 용량 선택
이후 나머지 설정은 건드리지 않고 인스턴스 시작 클릭
ssh로 연결하기 전에 전에 다운로드된 .pem파일의 권한을 파일 소유자만 파일을 읽을 수 있고, 다른 사용자는 파일을 읽거나, 쓰거나, 실행할 수 없게 수정해줘야 한다.
기본 윈도우 cmd 에서는 chmod 명령어가 없기 때문에 아래와 같은 명령어로 권한 수정을 해야함
icacls.exe testKey.pem /reset
icacls.exe testKey.pem /grant:r {username}:(R)
icacls.exe testKey.pem /inheritance:r
{username} 같은 경우는 현재 컴퓨터 사용자를 입력해주며 된다.
현재 C:\Users\qkrckstjq\Desktop> 여기서 qkrckstjq
키 페어에 대한 권한 설정 후 ssh 연결 명령어는 다음과 같다
ssh -i "{다운받은 키페어파일이름}.pem" ubuntu@{퍼블릭 IPv4 DNS}

연결 성공
이제 깃허브에서 작업한 결과물을 clone받아와서 빌드하고 실행하기 위해서는 깃 허브를 다운받아야 한다.
깃 설치
sudo apt-get install git
깃 허브와 ssh 연결
cd ~/.ssh
ssh-keygen -t rsa -C {깃허브 계정 이메일}

cat id_rsa.pub를 통해 나오는 모든 내용 복사 후 깃허브에서 ssh-gen 키 추가
git clone
ssh키 등록이 끝났다면 git clone 진행
먼저
sudo apt update
로 apt 업데이트 후
sudo apt install openjdk-17-jdk
를 통해 자바 17버전 다운로드
설치된 자바 버전 확인 후
환경변수 추가
sudo vi /etc/profile
맨 밑에 줄에 다음 코드 추가
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

:wq로 저장 후 나감
gradlew 빌드를 위한 세팅이 모두 끝난 상황임
git clone을 통해 다운받은 파일의 build.gradle 파일이 있는 곳으로 이동 후
./gradlew build 진행
이때
-bash: ./gradlew: Permission denied 오류 발생시
chmod +x gradlew 로 gradlew 권한에 실행권한 부여
또 다른 오류로 test 과정 에서 오류가 발생 할 수 있는데
사용하지 않는 테스트 코드가 있다면 지우거나 주석처리를 하고
build과정에서 무한 로딩이 걸린다면 ram 용량이 적어서 발생하는 현상으로
가상머신에서 swap기능 을 통해 램 용량을 늘린 후 진행하면 해결됨
실행
프로젝트 루트 위치에서 build -> libs로 이동
nohup java -jar {빌드된파일이름.jar} &
이후 해당 위치에 nohup.out 파일이 존재하는데 스프링이 실행되면서 남기는 log를 볼 수 있음
종료
jobs 실행중인 파일 보여줌
[1]+ Running
fg %{실행중인파일인덱스번호} 실행중인 파일 종료