본문 바로가기

Language/JavaScript

[nodeJs] PM2

대표 명령어로 함께 확인하는 장점

개발 중에 에러를 만나면 노드 서버가 강제로 죽어 버리는 경우를 빈번하게 맞이하게 됩니다. 이럴 때 앱을 재실행해주는 기능도 담당하고 있어 실제 노드 서버에서는 필수적인 패키지이라고 할 수 있습니다. 물론 이밖에 다양한 기능들을 재공해 주고 있습니다. 기능을 크게 정리하면 다음과 같습니다.

  • 앱에서 충돌이 발생할 경우 앱을 자동으로 다시 시작
  • 런타임 성능 및 자원 소비에 대한 통찰력을 획득
  • 성능 향상을 위해 설정을 동적으로 수정
  • 클러스터링을 제어 
    [출처] : https://cheese10yun.github.io/PM2/

공식 홈페이지 : http://pm2.keymetrics.io/ 


설치 npm install pm2 -g


? Advanced, production process manager for Node.js ( Node.js 위한 프로세스 매니저 )


  • pm2 start app.js pm2로 실행시킨 프로그램이 의도치 않게 죽었을 때, 자동으로 살려준다.
  • pm2 monit pm2로 실행중인 프로세스의 상태를 실시간으로 확인할 수 있다.
  • pm2 list pm2로 실행중인 목록과 그 상태를 확인할 수 있다.
  • pm2 stop app.js pm2로 실행중인 프로세스를 멈출 수 있다.
  • pm2 start app.js --watch 노드를 재시작하지 않아도 변경사항을 스스로 파악하여 반영합니다(보여준다.)

pm2 시작시 express를 사용하고 있다면,  bin/www 파일을 실행

1. 프로세스 실행 출처 : https://massivcode.com/5

// xxx 파일을 pm2 를 이용하여 실행한다. 
// 주로 xxx 파일은 express.js 미사용시 app.js 를, 사용시에는 bin/www 파일을 실행한다
pm2 start xxx.js

pm2 start