[AWS] 프론트 서버를 배포해보자

장택진·2023년 7월 14일
0

AWS

목록 보기
2/3

지난 시간에 인스턴스 생성과 Route53 설정까지 마쳤으니 ( 사실 호다닥 넘어감 ) 프론트 서버 배포를 진행해보려 한다.
1. ec2 인스턴스에 들어가서 ssh 클라이언트 탭에 있는 예시를 복사해준다.

ssh -i "pem 파일명" ubuntu@.ap-northeast-2.compute.amazonaws.com

pem키가 있는 폴더 ( 절대 공유되면 안돼 !!!!!!!!! ) 에서 붙여넣기를 해주면 끝

우분투 가상 환경에 들어왔다면 아래의 목록을 설치해줘야 한다. (처음엔 깡통임)

  • npm
  • node.js
  • git
  • git clone 배포할 프로젝트

업데이트
우선 다음 명령어로 update를 진행줘야한다.
sudo apt update

npm 설치를 위한 명령어
다음으로 npm을 설치해준다.
sudo apt install npm

node.js 설치를 위한 명령어
다음으로 node.js을 설치해준다.
sudo apt install nodejs

git 설치를 위한 명령어
프로젝트를 가져오기 위해 git을 설치해준다.
sudo apt install git

github에 등록된 나의 프로젝트 가져오기
git clone 배포할 프로젝트의 git 주소

여기까지 왔다면 프로젝트에 필요한 패키지들을 설치해줘야한다.

우선 프로젝트로 경로를 바꿔줘야 하니 ls 명령어를 통해 현 디렉토리 위치를 파악 후 이동해준다.

들어왔다면 npm i로 라이브러리 패키지들을 설치 해 주고 npm run build 로 빌드해준다 !

pm2 쓰는 이유

pm2란?
production process manager for node.js 이다.
즉 , node.js 를통해서 만든 프로그램을 관리해주는 프로그램

프로세스 관리가 필요한 이유는 ?
우리가 ssh 프로그램으로 EC2에 접속한 터미널을 강제 종료한다면 로컬에 띄워져있던 ssh 프로세스가 강제 종료되고, EC2 프로세스도 같이 종료될 거다. 즉, EC2 서버도 종료된다. (?!)
그 이유는 node.js는 기본적으로 foreground process 형태로 실행되기 때문인데 이를 background process로 바꿔주는게 pm2의 가장 큰 역할이다.

그렇다면 sudo npm i pm2 를 통해 pm2 를 설치해주고 사용하면 된당

처음 킬 땐 sudo npx pm2 start npm -- start 명령어로 실행시켜주며
켜져있는 상황에서 수정사항을 서버에 반영하고 싶다면 sudo npx pm2 reload all을 해주면 된다.

자주사용하는 pm2 명령어로는
서버가 잘 돌아가고 있는지 모니터링하고싶을때 - > sudo npx pm2 monit
서버가 잘 켜져있는건지 확인하고 싶을 때 -> sudo npx pm2 list

프로젝트 배포 후 꽤 지난 지금 포스팅을 하려다보니 놓친 부분이 많습니다. ( 인스턴스 인바운드 규칙이라던가.. ) 그렇기에 자세한 내용은 참고자료에 있는 링크를 통해 공부해주시길 바랍니다 ㅠ

참고자료
프론트 배포 방법 1편

AWS EC2 프론트 배포 이렇게만 해보자.

https://chat.openai.com/

profile
필요한 것은 노력과 선택과 치킨

0개의 댓글