개발일기

Node.js - PM2로 프로세스 관리하기 본문

Javascript/Node.js

Node.js - PM2로 프로세스 관리하기

Flashback 2023. 4. 2. 14:38
728x90
반응형

Nodejs의 PM2는 여러개의 노드 프로세스를 관리할 수 있는 데몬 프로세스이다. pm2로 애플리케이션을 다운타임없이 재시작할 수 있고, 애플리케이션이 계속 실행되도록 유지할 수 있다. 기존에는 자바스크립트 파일을 테스트하려면 node [파일명]으로 실행하여 터미널이 종료되면 프로세스가 종료되는 단점이 존재했다. 하지만 pm를 사용하면 노드 프로세스를 계속 유지할 수있어 여러모로 편리한 점을 제공한다. 또한 프로세스를 여러개 실행시키면 각 프로세스마다 포트가 할당된다. 이를 통해 로드밸런싱하여 프로세스의 작동을 분할할 수 있다.

 

1. PM2 설치

npm isntall pm2 -g
yarn add pm2 -g

pm2는 package.json, node_modules없이도 노드 프로세스를 관리할 수 있기에 전역으로 설치해준다.

 

2. PM2 시작

pm2 start [파일명]
# pm2 start index.js
# pm2 start fruit.js

pm2를 간단하게 시작하려면 start 뒤에 파일명을 붙여 실행하면 된다. 해당 파일에 대한 노드 프로세스가 실행되어 중단없이 앱을 계속 실행할 수 있다.

 

2-1. PM2 중단

pm2 stop [파일명]
# pm2 stop index.js
# pm2 stop fruit.js

실행중인 프로세스를 중단하려면 stop으로 중단시킨다.

 

2-2. PM2 재시작

pm2 restart [파일명]
# pm2 restart index.js
# pm2 restart fruit.js

중단된 프로세스를 재시작하려면 pm2 restart를 사용하거나 pm2 start로 재시작 할 수 있다.

 

2-3. PM2 프로세스 삭제

pm2 delete [파일명]
# pm2 delete index.js
# pm2 delete fruit.js

중단된 프로세스를 프로세스 목록에서 삭제하려면 pm2 delete로 삭제할 수 있다.

 

3. PM2 목록 확인

pm2 list
pm2 status

pm2 list로 현재 실행중이거나 중단된 프로세스 목록을 확인할 수 있다. pm2 delete로 프로세스를 삭제하면 목록에서 확인할 수 없다.

 

4. PM2 로그 확인

pm2 log
pm2 logs

현재 실행중인 프로세스에서 찍힌 로그를 확인할 수 있다. 간단하게 확인하려면 index.js파일을 생성 후, console.log로 간단하게 로그를 찍으면 pm2 로그 목록에 해당 로그가 기록된 것을 확인할 수 있다. pm2 log 명령어를 입력하면 로그가 실시간으로 쌓이는 것을 확인할 수 있다. 프로세스는 계속 실행되기 때문에 해당 프로세스에 추가되는 로그를 실시간으로 확인할 수 있다는 특징을 가지고 있다.

 

4-1. 특정 프로세스의 로그 확인

pm2 log [프로세스 아이디]
# pm2 log 0
# pm2 log 1
# pm2 log 2
# 프로세스 아이디는 pm2 list로 확인 가능

특정 프로세스의 로그를 확인하려면 pm2 list를 통해 프로세스의 id값을 확인 후, pm2 log 뒤에 아이디값을 추가하면 해당 프로세스의 로그를 확인할 수 있다.

 

5. PM2 모니터링

pm2 monit

프로세스의 목록과 로그를 동시에 확인할 수 있는 모니터링 대시보드를 보여준다.

 


참고 사이트 : 

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://hostarmada.com/kb/ssh-and-linux/what-is-pm2-how-to-use-it/

 

What is PM2 and how to use it?

HostArmada wants to offer our clients the best tools to manage their NodeJS applications, thus we preinstalled PM2 on all hosting plans. Here's how to use it!

hostarmada.com

 

https://ysoni0303.medium.com/all-about-pm2-3d25cc44b4d2

 

All about PM2!!

PM2 is a production process manager for the JavaScript runtime Node. js applications with a built-in load balancer. It allows you to keep…

ysoni0303.medium.com

 

728x90
반응형

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

Node.js - Babel이란?  (0) 2021.09.16
npm install 옵션의 차이  (0) 2021.09.16
Node.js - package.json이란?  (0) 2021.09.03
Node.js - Express 웹 서버 만들기  (0) 2021.08.30
Comments