[TIL] pm2

sooyoung choi·2023년 12월 4일
0

Javascript, Node.js

목록 보기
31/37
post-thumbnail

내배캠 노드주차 들어오면서 ec2로 배포하고 pm2에서 관리하는 걸 배웠는데 매번 할 때마다 까먹어서 정리해놔야겠다.


pm2란?

  • Process Manager 2
  • 원활한 서버 운영을 위한 패키지
    ✔ 서비스를 제공하고 있는 도중 서버가 중단돼도 서버를 다시 켜준다.
    ✔ Node.js는 싱글 스레드 시반이지만, 멀티 코어 혹은 하이퍼 스레딩을 사용할 수 있게 한다.
    ✔ 클라이언트로부터 요청이 올 때 알아서 요청을 여러 노드 프로세스에 고르게 분배한다. 로드 밸런싱

개발할 때 nodemon 쓴다면, 배포할 때는 pm2를 쓴다.


github 배포해보기

✔ 우분투 환경에서 실행하여야 하고,
✔ 관리자 권한에서 실행하여야 한다.

  1. 우분투를 실행한다.
  2. .pem 파일이 있는 디렉토리로 이동한다.
  3. 아래의 명령어를 입력한다.
ssh -i `pem파일이름.pem` ubuntu@ `ec2 개방형 ipv4 주소`
  1. 실행되면 내가 배포하고 싶은 github 주소를 clone 후 해당 디렉토리로 이동한다.
  2. github 레포지토리 관련 패키지 파일들을 설치, .env 같은 파일들을 넣어준다.
  3. 아래의 명령어로 실행한다.
pm2 start `파일명`

pm2 명령어 몇가지 정리

pm2 status	// 상태 확인

pm2 stop 프로세스id값	// 배포 중지

pm2 restart 파일명	 // 재시작

pm2 delete 프로세스id값 	// 프로세스 중지, 끊기

pm2 monit 	// 모니터링

// 시스템 재부팅 해도 자동으로 실행되게 해준다.
pm2 startup 
pm2 save

// 해제 방법
pm2 unstartup
pm2 save

0개의 댓글