프로세스 매니저 PM2

PM2는 Node.js 애플리케이션을 위한 프로덕션 프로세스 매니저로, 내장된 로드 밸런서를 제공합니다. 이를 통해 애플리케이션을 영구적으로 실행 상태로 유지하고, 다운타임 없이 재로드하며, 일반적인 시스템 관리 작업을 용이하게 수행할 수 있습니다.

PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.

PM2란 무엇인가?

PM2는 Node.js 애플리케이션의 프로세스를 관리하기 위한 도구로, 다음과 같은 주요 기능을 제공합니다:

  • 애플리케이션의 지속적인 실행 보장 (중단 없는 서비스 제공)
  • 다운타임 없이 애플리케이션 재시작 가능
  • 클러스터 모드를 통한 멀티코어 활용 및 로드 밸런싱
  • 로그 관리 및 실시간 모니터링
  • 코드 변경 사항 감지 및 자동 재시작 (--watch 옵션)

PM2 설치

애플리케이션 시작

npm install pm2 -g

전역(-g)으로 설치하여 모든 프로젝트에서 사용할 수 있습니다. 권한 문제가 발생하면 sudo 추가

PM2 기본 명령어

pm2 start app.js
  • app.js를 백그라운드에서 실행하며, 종료되지 않도록 유지합니다.
  • --watch 옵션을 추가하면 파일 변경 시 자동으로 재시작됩니다:
pm2 start app.js --watch

실행 중인 프로세스 확인

pm2 list

프로세스 중지, 재시작, 삭제, 전체 삭제

pm2 stop app.js        # 중지
pm2 restart app.js     # 재시작
pm2 delete app.js      # 삭제
pm2 delete all      # 전체 삭제

로그 확인

pm2 log

모니터링

pm2 monit