PM2 사용

2023. 6. 24. 22:18node.js

node.js & mongoDB 를 우분투에서 계속 실행할 수 있는 방법에는 PM2 가 있다.

 

node.js 를 실행하고 관리하도록 만들어진 pm2 를 이용한다.

 

pm2 란 프로세스 매니징 도구로 node.js 를 편하게 관리할 수 있게 도와주는 라이브러리 이다.

 

대표적으로 터미널을 종료하더라도 웹 서버가 실행될 수 있게 하거나 로그 정보들을 실시간으로 확인한다.

 

sudo -s
npm install -g pm2

pm2 start app.js

 


프로젝트 종료하는 법

 

pm2 delete 0

pm2 list 를 입력했을 때 프로세스가 존재하지 않다면 성공적으로 종료된 것이다.

 


pm2 재시작

 

pm2 restart app.js. # app.js를 재시작합니다.
pm2 restart [idNumber]

pm2 관리중인 서비스 리스트 출력

 

# 현재 서비스들의 목록을 출력합니다.
pm2 list

pm2 서비스 종료

 

# 0번 ID의 서비스(app) 을 하는 명령어입니다. 
pm2 delete [pid number]

서비스 로그 출력

 

pm2 log

아래는 number 만큼 마지막으로 발생했던 로그들을 순서대로 출력

# 마지막으로 발생한 로그 순서대로 100개를 출력합니다.
pm2 logs --lines [number]

이외

 

pm2 명령어 이외에도 일정시간마다 로그를 백업하거나 로드 밸런서의 역할을 할 수 있도록 설정하는 명령어들이 있다.

 

https://pm2.keymetrics.io/docs/usage/process-management/

 

PM2 - Process Management

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

pm2.keymetrics.io