1. PM2란?
PM2는 Node.js 애플리케이션을 관리해주는 패키지이다(Process Manager).
공식사이트: pm2.keymetrics.io/
2. PM2 설치하기
npm install pm2 -g
- -g옵션은 패키지를 전역적으로 설치하겠다는 명령이다(global).
3. PM2 실행하기
pm2 start <파일명> [--name <앱이름>]
pm2 start <파일명> [--watch]
/* e.g.
pm2 start main.js --name "server"
pm2 start main.js --watch
*/
- pm2로 프로그램을 실행시킨다.
- --name옵션을 통해 해당 프로세스에 앱 이름을 지정하여 관리할 수 있다. 지정하지 않는다면 기본적인 파일명이 지정된다(main.js -> main).
- --watch옵션을 통해 소스코드에 변경사항이 있을 때 자동반영이 일어나게 할 수 있다.
pm2 stop <앱이름>
pm2 restart <앱이름>
pm2 delete <앱이름>
pm2 kill
- 해당 프로세스를 중지/재시작/삭제한다.
- pm2 kill 명령은 모든 프로세스를 중지&삭제한다.
pm2 monit
- 모든 프로세스를 모니터링할 수 있다.
pm2 list
- 모든 프로세스를 리스트 형태로 출력한다.
pm2 reset all
- 모든 프로세스를 재시작한다.
pm2 log
- 실행중인 프로세스에서 발생한 에러를 콘솔창에 출력시킨다.
- start --watch명령과 함께 IDE에서 auto save를 켜놓은 상태라면 에러 메시지가 계속해서 출력되는 현상이 발생할 수 있으니, start --watch를 사용했다면 auto save를 꺼놓도록 한다.
4. 기타
pm2 start <파일명> --watch --no-daemon
pm2 start main.js --watch --ignore-watch="dir1/* dir2/* ..." --no-daemon
/* e.g.
pm2 start main.js --watch --no-daemon
pm2 start main.js --watch --ignore-watch="data/* sessions/*" --no-daemon
*/
- daemon은 background로 실행되는 프로그램들을 일컫음
- pm2를 실행함과 동시에 로그까지 볼 수 있게 하는 것이 --no-daemon 옵션
- 특정 디렉토리에 있는 파일에 변동이 생길 시 서버가 꺼졌다 다시 켜지는 현상이 발생하는데, 특정한 상황에서 이는 굉장히 위험할 수 있다.
- 이것을 방지하기 위해 --ignore-watch옵션으로 해당 디렉토리에 대한 watching을 제외할 수 있다.
'웹 > Node.js' 카테고리의 다른 글
[Node.js] Express 4: 라우터(Router) (1) | 2021.02.20 |
---|---|
[Node.js] Express 3: 미들웨어(Middleware) (0) | 2021.02.20 |
[Node.js] Express 2: 요청 객체와 응답 객체 (req & res) (0) | 2021.02.20 |
[Node.js] Express 1: app 객체 (0) | 2021.02.19 |
[Node.js] 이벤트: Event Loop, EventEmitter, EventListener (0) | 2021.02.18 |