혜야의 코딩스토리

[Node.js] PM2 정리 본문

꿈 : 멋진 개발자 🧸/Node.js

[Node.js] PM2 정리

hyeya_ 2024. 5. 9. 17:42

PM2란? 

- 애플리케이션을 관리하고 온라인 상태를 유지하는 데 도움이 되는 데몬 프로세스 관리자

- 죽지 않는 실행 방식

- PM2를 사용하면 node.js 프로젝트 서버를 내리지 않는 이상 컴퓨터를 닫아도 계속 실행됨

- 죽지 않는 실행 방식으로 프로젝트 서버를 실행시켜야 우리가 컴퓨터를 닫아도 node.js서버가 살아있을 것임

  (*node.js서버를 AWS EC2서버에 올리기 위해 검색 중 발견)

 

1. 설치

- pm2는 여러 프로젝트에서 사용하므로 글로벌(--global) 세팅으로 설치하는 것을 권장

npm install pm2 -g

 

※ npm이 설치되어 있지 않은 경우 아래와 같은 오류 발생

Command 'npm' not found, but can be installed with:
apt install npm

 

※ npm을 설치한 이후에 다시 pm2를 설치한다.

apt install npm

 

2. 설치 후 버전 확인

pm2 -version

 

3. 실행

실행하고자 하는 프로젝트의 경로로 이동하여 파일을 실행한다.

# 현재 위치한 디렉토리 이동
cd /var/www/mynodeapp
# PM2를 이용해 Node 애플리케이션 실행
pm2 start app.js

 

4.  소스코드 변경시 자동 재실행 옵션 추가

# 소스코드 변경시 자동 재실행
pm2 start app.js --watch


5. pm2로 실행중인 리스트 확인

pm2 list


6. 프로세스 중지

pm2 stop 'id'

pm2 stop 0


7. 프로세스 재시작

pm2 restart 'id'

pm2 restart 0

 

8. 프로세스 삭제

pm2 delete 'id'

pm2 delete 0


9. 로그 확인

pm2 logs


10. 프로세스 상태 확인

pm2 show main

 

11. cpu / memory 모니터링

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