기본 파일 다시 만들어서 https://gamzzang.tistory.com/98
aws ec2 + putty 배포 시도
전제: aws ec2 인스턴스 생성하고 putty 로 접속(ppk 키는 생성완료)
1 2G 용량의 스왑 파일 생성
=> 왜 2G 냐 하면 프리티어 기본 제공량 1G 관련 => 통상 스왑메모리는 기존 크기의 2배만큼 설정해준다고 한다.
=> 디스크 공간을 메모리처럼 활용하여 처리 속도는 떨어지나 프리티어 용량 대비 설정해주는게 훨씬 빠르다.
=> 나는 테스트하는 과정이라 안했지만 시스템 재부팅이 되어도 만들어진 스왑이 적용될 수있게 할 수 있다.
sudo fallocate -l 2G /swapfile
2 생성한 파일에 루트 사용자만이 읽고 쓸 수 있도록 변경
sudo chmod 600 /swapfile
chmod 명령어
3 스왑 영역 설정
sudo mkswap /swapfile
4 스왑 영역 활성화
sudo swapon /swapfile
5 자바 설치
sudo apt update
sudo apt install openjdk-17-jdk
6 저장소 클론
git clone 주소
7 프로젝트로 이동 후 권한 부여, 빌드
cd ToDoList
chmod +x ./gradlew
./gradlew build
8 빌드 하위 파일 확인
build > libs > jar 파일
9 빌드 파일 실행
nohup java -jar ToDoList-0.0.1-SNAPSHOT.jar &
10 로그 확인
(저장되어있는 로그)(빌드 파일 실행 후 ls 로 파일 목록 확인해보면 생성되어있다.)
cat nohup.out
❗ 8080 포트가 이미 쓰이고 있다는데 도대체 어디서 ??
중단하고 다시 실행한 로그
접속이 안된다.
❗ 보안그룹에서 8080포트로의 인바운드 트래픽을 허용하고 있는지 확인하란다.
기본 설정으로 22포트만 누구나 허용되어있었다.
인바운드 규칙에 8080 포트 접속을 추가했다.
접속 된다!!!! 너무 이쁘다!!!!!
처음은 빌드 속도가 느려서 포기했었고
그 다음은 프로젝트 파일이 안 맞아서 중단
그 뒤엔 보안 그룹 설정제대로 하기!!
11 작업 중인 jar 파일 확인
ps -ef | grep jar
12 4975 실행 강제 중단
❗-15로 먼저 해봤는데 중단이 안됐다...왜 그런건지 못찾았다.)
=> 제대로 된 PID 를 입력하지 않았다.
kill -9 4975
13 디렉토리 삭제
rm -rf ~/디렉토리
나는 테스트라서 디렉토리를 이렇게 함부로 삭제했지만 원래는 위험한 일이란다.
만약 데이터베이스와 같은 외부 리소스를 사용하는 경우 해당 리소스도 정리해주어야 한다.
14 스왑 상태확인
swapon --show
15 스왑 비활성화
sudo swapoff -a
-인스턴스 종료
여러 배포 방법 중에 한 가지를 시도해본거라 아직 할 게 많이 남았고 내가 사용한 명령어들이나 시스템 흐름같은 것들도 모르는 것들 투성이다 !
다음에는 저장소 클론해오는 방법이 아닌 jar 파일을 가져와서 하는 방법이나 aws 빈스토크 로 해보기....
명령어도 적어도 내가 여기서 몇 번 써본 것들 눈에 익히고
'왕초보일지' 카테고리의 다른 글
240201 TIL | ubuntu 환경에 docker 설치하고 실행하기 (0) | 2024.02.01 |
---|---|
240130 TIL | (1) | 2024.01.30 |
240129 TIL | (2) | 2024.01.29 |
240126 TIL | 배포를 시도해봤다 (1) | 2024.01.26 |
240125 TIL | (1) | 2024.01.25 |