Nodejs 프로세스 매니저 PM2 기술 이야기 2017.10.16 19:18

서버에서 노드 구동 관리를 위해서 예전에 forevernodemon을 썼던적이 있는데, pm2를 알게되어서 이번에 사용해 보았다. startup 커맨드가 넘 좋고, 보기 좋고, 잘 동작해서 좋다.


서버에서 웹 애플리케이션을 운영할 때 보통 데몬으로 서버를 띄워야 하고 Node.js의 경우 서버가 크래시나면 재시작을 하기 위해서 워치독(watchdog) 류의 프로세스 관리자를 사용하게 된다.Outsider's Dev Story

시작하기

--name 옵션으로 이름을 정해두면 리스트에서 보기 좋다.
--watch 옵션으로 변경사항을 체크해서 자동 재시작 하도록 할 수 있다.

$sudo pm2 start <nodejs 실행파일> [--name <name>] [--watch]

목록 확인

등록되어 있는 목록 확인

$sudo pm2 list

중단하기

등록되어 있는 어플리케이션 중단하기

$sudo pm2 stop <id|name>

삭제하기

등록된 목록에서 삭제하기

$sudo pm2 delete <id|name>

부팅시 재시작되도록 설정하기

startup 이라는 커맨드로 간단하게 부팅시 재시작되도록 설정할 수 있다.

$sudo pm2 startup

해제할 때는,

$sudo pm2 unstartup

주의할 점이 있다면, startup 하는 시점의 목록으로 저장된다. app을 추가한 경우 unstartup 하고, startup을 다시 해줘야 한다.

[참고]
https://blog.outsider.ne.kr/1197
http://pm2.keymetrics.io/docs/usage/startup/

티스토리 툴바