Server/Nodejs
[Sopt] 4차 세미나(1) - AWS EC2, PM2, S3
댕경
2022. 5. 17. 02:07
728x90

AWS EC2
🔎 AWS EC2란?
Amazon Elastic Compute Cloud : 클라우드에서 확장 가능 컴퓨팅 용량을 제공한다.
즉, 가상 컴퓨터를 임대 받아 그 위에 자신 만의 컴퓨터 어플리케이션을 실행할 수 있게 한다.
🔎 EC2 기본세팅 (NVM, Node ..)
- Node 설치
$ sudo apt-get install curl
$ curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo apt-get install build-essential
- NVM 설치
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.39.1/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
$ nvm install --lts
$ npm install -g yarn
PM2
🔎 PM2란?
Node.js 애플리케이션을 쉽게 관리할 수 있게 해주는 Process Manager로 무중단 배포를 지원한다.
Node.js 애플리케이션을 cluster mode로 구동 가능하게 한다. (멀티스레드)
🔎 PM2 세팅
- 설치
npm install -g pm2
pm2 -v

- pm2 로 서버를 실행시키기 전에 먼저 build 명령어를 실행해준다.
build 폴더인 dist 폴더가 생겨야 정상 빌드 된 것!
yarn run build
- pm2 start
pm2 start dist

- 그 외 명령어들
// 프로세스 별 상태 확인
pm2 monit
// 로그 확인
pm2 logs
// 라인 수 지정 로그 확인
pm2 logs --lines 100
// 프로세스 리스트 보기
pm2 list
// 중지
pm2 stop <id|name|all|json|stdin>
// 삭제
pm2 delete <id|name|all|json|stdin>
// 재시작
pm2 restart <id|name|all|json|stdin>
PM2 무중단 배포 관련 아티클 👉 (링크)
AWS S3
🔎 AWS S3란?
아마존 웹 서비스에서 제공하는 온라인 스토리지 웹 서비스로 데이터를 버킷 내에 객체로 저장한다.
DB에 이미지, 파일 등의 데이터를 효율적으로 저장하기 위해서 클라우드 스토리지에 데이터를 올려두고, 서버에서는 url을 보관하여 사용한다.