node.js 프로세스 매니저 pm2

node.js 의 프로세스 매니저는 pm2 , forever, npm 이 있다.

forever 로 서비스를 구동할 수도 있고, npm run 으로 서비스를 구동할 수도 있다.

npm 이 패키지 매니저라고 생각했던 분들이 많을 거라 생각한다. 하지만 npm 은 프로세스 매니저로도 사용할 수 있고, 빌드 자동화를 위한 도구로도 사용할 수도 있다.

과거에는 forever 를 많이 사용하였지만, 점점 pm2 가 대세화가 되고 있는 느낌이다.

만약에 프로세스 매니저를 사용하지 않고 있다면 forever 도 pm2도 뭐든 좋으니 꼭 사용하길 바란다.

나 또한 pm2 를 사용하기 이전에는 forever 를 서비스 매니저로 사용하고 nodemon 으로 파일 변경을 watch 하여 개발용으로 사용하였다.

하지만 pm2가 있기 때문에 더 이상 다른 프로세스 매니저는 필요 없다고 생각한다.

pm2 의 장점으로는

  1. app.json 파일을 만들어서 여러 프로세스를 한꺼번에 관리할 수 있다.
  2. watch옵션 으로 개발하는 모드로 사용할 수 도 있다.
  3. cluster mode 를 자체적으로 지원한다.
  4. 자체적인 모니터링 도구 (pm2 monit) 를 지원한다.
  5. keymatrix 와의 연동으로 웹에서 실시간 모니터링이 가능하다. (1개 서버만 무료, 그 후로 유료) (https://keymetrics.io/)
  6. 업데이트가 빠르다.

그럼 다음 챕터에서 pm2 의 사용 방법을 안내하겠다.