AWS콘솔에 접속 후 원하는 Region으로 변경 (ap-southeast-2 (서울))
EC2 선택 후 인스턴스 시작을 눌러 인스턴스 생성
키 페어 생성
보안 그룹 선택
스토리지 구성
필요하다면 추가적인 설정을 맞춰준 이후 인스턴스 시작
# .pem 파일이 있는 디렉토리
chmod 400 {FILE_NAME}.pem # pem파일에 루트 사용자의 write 권한 부여
# 퍼블릭 IP 혹은 DNS로 인스턴스에 접속
# ssh -i {FILE_NAME}.pem {USER_NAME}@{DNS_OR_PUBLIC_IP}
ssh -i my_key.pem ubuntu@13.125.254.209
ssh -i my_key.pem ubuntu@ec2-13-125-254-209.ap-northeast-2.compute.amazonaws.com
# .pem 파일을 루트아래 숨겨진 ssh폴더로 복사
cp my-key.pem ~/.ssh
# 파일에 write, excute 권한을 부여
chmod 600 my-key.pem
# config파일 작성
vi ~/.ssh/config
# config파일 내부 내용
Host {HOST_NAME}
User {USER_NAME}
HostName {ELASTIC_IP}
IdentityFile {KEY_PAIR_FILE_LOCATION}
# 이후 ssh {HOST_NAME}으로 접속
ssh {HOST_NAME}
# in EC2 instance
sudo apt-get update #apt update
sudo apt-get install openjdk-17-jdk #jdk17 install
# 프로젝트 파일 클론
git clone {레포지토리 주소} {폴더명}
cd {폴더명}
# gradlew에 사용 권한 부여
chmod +x gradlew
# gradle로 빌드
./gradlew clean build
# 빌드 된 jar 파일 위치
cd build/libs
# nohup(no hangup)으로 백그라운드에서 jar파일 계속 돌리기
nohup java -jar {jar파일명} &
# 'nohup.out' 파일로 로그를 볼 수 있음
cat nohup.out
# jobs로 백그라운드에서 돌아가는 프로세스 확인 후 선택, 종료가능
jobs
fg %{index} # 해당 프로세스에 접근
^C # Ctrl + C로 종료
# 다음과 같은 방법으로도 종료 가능
ps -ef # 현재 작동중인 프로세스 목록 확인 가능
kill -9 {프로세스ID} # 9는 강제 종료
:compilejava 상태에서 멈추는 현상이 발생하여 인스턴스를 강제로 종료하였다.# 스왑 공간의 크기를 설정해준다. 128M * 16이므로 스왑 공간의 크기는 2GB가 된다.
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
# 스왑 파일의 읽기 및 쓰기 권한 부여
sudo chmod 600 /swapfile
# Linux 스왑 영역 설정
sudo mkswap /swapfile
# 스왑 공간에 스왑 파일을 추가 -> 스왑 파일을 바로 사용할 수 있다
sudo swapon /swapfile
sudo swapon -s # 프로시저가 성공적인지 확인
# FSTAB을 통해 부팅 시 스왑 파일을 시작하도록 변경
sudo vim /etc/fstab
/swapfile swap swap defaults 0 0 # vim으로 파일 맨 아랫줄에 추가
:compilejava 단계에서 멈출 때 해결하는 방법을 찾았다.sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1