-
Node.js 애플리케이션 관리 프로세스 매니저, pm2란?Server/AWS,서버관리 2024. 12. 6. 09:46
pm2에 대해서 정리해두자.
pm2란?
Node.js 애플리케이션을 관리하기 위한 프로세스 매니저로, 특히 서버 애플리케이션의 안정성과 성능을 유지하기 위해 널리 사용된다. PM2는 애플리케이션의 실행, 관리, 모니터링 등을 쉽게 수행할 수 있도록 다양한 기능을 제공한다.
주요기능
프로세스 관리
- Node.js 애플리케이션을 백그라운드에서 실행하고, 중단 없는 실행을 보장
- 애플리케이션이 중단되거나 크래시 날 경우 자동으로 재시작
- 애플리케이션의 실행, 중지, 재시작 등을 명령어로 간단히 제어
로드 밸런싱, 클러스터 모드
- 여러 CPU 코어를 활용할 수 있도록 클러스터 모드를 지원하여 Node.js 애플리케이션 성능 극대화
- 클러스터 모드로 트래픽을 균등하게 분배.
로그 관리
- 실행 중인 애플리케이션의 로그를 관리하고 로그를 실시간으로 확인할 수 있다.
모니터링
- 메모리 사용량, CPU 부하, 요청 처리량 등의 애플리케이션 상태를 실시간으로 모니터링할 수 있다.
간편한 배포
- pm2 deploy 명령어를 통해 애플리케이션의 배포 및 업데이트를 자동화할 수 있다.
JSON 설정 파일
- ecosystehttp://m.config.js 파일을 사용해 여러 애플리케이션의 설정(환경 변수, 실행 옵션 등)을 관리할 수 있다.
설치방법
PM2 설치
Node.js가 설치된 환경에서 실행 가능하다.
$ npm install pm2 -g
애플리케이션 실행
$ pm2 start app.js
주요 명령어
1. 시작
$ pm2 start app.js
2. 재시작
$ pm2 restart app.js $ pm2 restart {id}
3. 갱신
$ pm2 reload app.js $ pm2 reload {id}
4. 중지
$ pm2 stop app.js $ pm2 stop {id}
5. 삭제
$ pm2 delete app.js $ pm2 delete {id}
애플리케이션 상태 확인
1. 요약정보 확인
$ pm2 list $ pm2 ls $ pm2 status
2. 로그 확인
$ pm2 logs $ pm2 logs --line 1000 $ pm2 logs --err $ pm2 logs --out
- pm2 logs --line 1000
- pm2 logs --err ( --err , --out )
3. 모니터링 대시보드 실행
$ pm2 monit
Node.js 프로세스 매니저는 pm2, forever, npm, yarn등이 있고, 과거에는 forever가 대세였으나 추가가 pm2로 넘어오고 넘어 왔다고도 볼 수 있다.
bash 환경에서 npm start를 통해서 웹서버를 실행할 수는 있지만 bash창을 끄면 그와 동시에 서버가 다운되지만 forever 및 pm2를 사용하여 서버를 실행하게 되면 백그라운드로 프로세스를 실행된다.
'Server > AWS,서버관리' 카테고리의 다른 글
RDS 현재 활동 사용자 확인 및 타임아웃 설정 (0) 2024.12.02 [AWS] RDS timezone 변경 (0) 2024.07.19 [AWS] 서버 및 CloudWatch 로그 확인 (0) 2024.07.19 [AWS] CodeBuild 배포오류 확인 (0) 2024.07.19 [AWS] rds 스냅샷으로 dev 서버 생성 방법 (0) 2024.07.19