혜야의 코딩스토리
[Node.js] PM2 정리 본문
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