본문 바로가기

Programming/Node.js

[Node.js] PM2 활용

반응형

PM2

PM2는 Node.js 사용 시 무중단 서비스를 구현할 수 있도록 도와주는 모니터링 도구.

데몬 프로세스 매니저로서 백그라운드에서 동작한다.

 

설치

npm install pm2 -g

-g : 전역(global) 설치

 

실행

pm2 start 실행파일
pm2 start 실행파일 --watch

--watch : Watch 하고 Restart 한다(디렉토리 내 파일에 변화를 감지하면 자동으로 새로고침)

pm2 start 실행파일 --watch --no-daemon

--no-daemon : no daemon(백그라운드) 실행을 통해 pm2 logs를 통하지 않고도 바로 로그를 확인 할 수 있다.

 

--watch 옵션을 사용하면 실행하는 파일에 변동사항이 있을 때마다 새로고침을 수행한다. 이렇게 되면 후에 session값 등을 활용하는 것이 불가능하다. 이를 방지하고 싶다면 아래와 같이 실행하면 된다.

pm2 start 실행파일 --watch --ignore-watch="파일경로" --no-daemon

--ignore-watch="파일경로" : 해당 경로 파일이 변경사항 있을 시 새로고침 하지 않는다.
--no-daemon : pm2 logs를 통하지 않아도 자동으로 로그 출력.

 

 

버전확인

pm2 -version

 

업데이트

pm2 update

 

프로세스 관리

pm2 restart 실행파일 //restart, reload의 차이점을 잘 모르겠다. 댓글 부탁드립니다.
pm2 reload 실행파일
pm2 stop 실행파일    //종료

 

프로세스 구동 확인

pm2 list
pm2 ls
pm2 status
// 현재 실행중인 파일 리스트를 출력한다.

 

로그 확인

pm2 logs
// 디버깅 시 필요한 로그 출력

 


 

참고

https://pm2.keymetrics.io/docs/usage/quick-start/

 

PM2 - Quick Start

Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.

pm2.keymetrics.io

https://engineering.linecorp.com/ko/blog/pm2-nodejs/

 

PM2를 활용한 Node.js 무중단 서비스하기 - LINE ENGINEERING

자바스크립트는 가장 널리 사용되는 클라이언트 측 프로그래밍 언어이자 프론트엔드 웹 개발 언어 중 하나입니다. 그리고 Node.js는 Chrome의 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타

engineering.linecorp.com

반응형

'Programming > Node.js' 카테고리의 다른 글

[Node.js] express.Router  (0) 2021.09.06
[Node.js][Express] 기본 라우팅  (0) 2021.09.02
[Node.js][보안] sanitize-html 사용  (0) 2021.09.01
[Node.js] 작업 환경 구성 및 서버 실행  (0) 2021.07.29