생각을 개발하자, 박진형

[node.js] 프로젝트 - pm2 : 노드 어플리케이션 프로세스 유지 본문

Javascript/node.js

[node.js] 프로젝트 - pm2 : 노드 어플리케이션 프로세스 유지

imjinbro imjinbro 2017.08.01 17:55
[정치 핫키워드 어플리케이션 프로세스 매니저 - pm2]

[pm2]
- 노드 어플리케이션 프로세스 매니져 모듈
- 서버(express) 온을 일일이 시키지않더라도 계속해서 돌아가도록 설정할 수 있음
- express 코드를 수정할 경우 서버를 껐다켜지않더라도 리로드할 수 있음 : 업데이트 사항 반영
- npm 으로 설치


[pm2 사용하기]
(0) 도움말 : $pm2 -h
(1) 시작 : $pm2 start ./bin/www
(2) 리스트 조회 : $pm2 list
=> 자세히보기 : 리스트 조회 후 id나 App name 기록 > $pm2 show [id | name]
=> pm2 monit : 앱의 cpu, 메모리 점유율 보여줌
=> 모니터 관련 어플리케이션 : $pm2 register (http://docs.keymetrics.io/ 가입 후)

(3) 멈춤 : $pm2 stop [all | id]
(4) 매니저 재시작 : $pm2 restart all
(4) 매니저에서 삭제 : $pm2 delete [all | id]

(6) 로그 : $pm2 logs ['all'|app_name|app_id] [--json] [--format] [—raw]  
=> --json : json 형식 로그 
=> 로그 저장 디렉토리 : /home/유저명/.pm2/logs

(7) 코드 업데이트 반영 중단 시간 없애기 : $pm2 reload all
(8) 서버 재시작 시 pm2 프로세스 유지 효과 ON/OFF(서버 재시작 시 pm2 시작)
=> ON : $pm2 startup
=> OFF : $pm2 unstartup


[pm2 업데이트]
1) $npm install pm2@latest -g
2) $pm2 update


[참고자료]