프론트엔드의 무중단 배포를 위해 pm2를 사용하고 있습니다.
pm2 에 대해 정리하고 공유하고자 합니다.
PM2는 애플리케이션을 관리하고 온라인 상태를 유지하는 데 도움이 되는 데몬 프로세스 관리자입니다.
PM2를 시작하는 방법은 간단하며, 간단하고 직관적인 CLI로 제공되며 NPM을 통해 설치할 수 있습니다.
ADVANCED, PRODUCTION PROCESS MANAGER FOR NODE.JS
Node.js 를 위한 발전된 상품 프로세스 매니저
즉, pm2란 node.js 로 만들어진 프로그램을 잘 관리해주는 매니저!
$ npm install pm2 -g
$ pm2 start app.js
$ pm2 start app.js --name myApp # 이름지정
start를 하게되면 DefaultMode 인 fork 모드로 실행되게 됩니다.
Fork 모드란?
단일 스레드로 애플리케이션을 실행합니다. 이는 기본 실행 방식입니다.
Cluster 모드란?
여러 개의 프로세스를 생성하여 멀티 코어 CPU를 최대한 활용합니다.
Node.js의 클러스터링 기능을 사용하여 애플리케이션을 실행합니다.
$ pm2 start app.js -i max --name myApp # -i max 옵션은 사용가능한 모든 CPU 코어를 활용합니다.
$ pm2 restart app
$ pm2 restart all
$ pm2 restart app1 app2 app3
$ pm2 reload <app_name_or_id>
$ pm2 stop app
$ pm2 stop [process_id]
$ pm2 stop all
$ pm2 stop app1 app2 app3
$ pm2 delete app
$ pm2 delete all
$ pm2 list
$ pm2 [list | ls | status]
$ pm2 list --sort name:desc
$ pm2 list --sort [name | id | pid | memory | cpu | status | uptime ][ : asc | desc]
PM2는 애플리케이션의 리소스 사용량을 간단하게 모니터링할 수 있는 방법을 제공합니다.
터미널에서 바로 메모리와 CPU를 쉽게 모니터링할 수 있습니다.
pm2 monit
$ pm2 show app