프로덕션용 앱을 실행할 때는 프로세스 관리자를 사용하는 것이 도움이 됩니다:
- 앱이 충돌하는 경우 자동으로 앱을 다시 시작
- 런타임 성능 및 리소스 소비에 대한 정보 제공
- 설정을 동적으로 수정하여 성능 개선
- 클러스터링 제어
프로세스 관리자는 배포를 용이하게 하고, 고가용성을 제공하며, 런타임에 애플리케이션을 관리할 수 있게 해주는 애플리케이션용 "컨테이너"로서 애플리케이션 서버와 다소 유사합니다.
Express 및 기타 Node.js 애플리케이션에 가장 많이 사용되는 프로세스 관리자는 다음과 같습니다:
- Forever
- 스크립트가 지속적으로 실행되도록 하는 간단한 명령줄 인터페이스 도구
- Forever는 인터페이스가 간단하여 소규모의 Node.js 앱 및 스크립트 배포를 실행하는 데 이상적
- PM2
- 로드 밸런서가 내장된 Node.js 애플리케이션용 프로덕션 프로세스 관리자
- PM2를 사용하면 애플리케이션을 영구적으로 유지하고, 다운타임 없이 다시 로드하며, 애플리케이션 로깅, 모니터링 및 클러스터링을 관리할 수 있다.
- StrongLoop Process Manager(Strong-PM)
- 로드 밸런싱, 모니터링, 멀티호스트 배포 기능이 내장된 Node.js 애플리케이션용 프로덕션 프로세스 관리자
- 로컬 또는 원격 시스템에 Node.js 애플리케이션을 빌드, 패키징 및 배포하는 CLI가 포함되어 있다.
- SystemD
- 최신 Linux 배포판의 기본 프로세스 관리자
- Node 애플리케이션을 서비스로서 간편하게 실행할 수 있다.
'Node.js' 카테고리의 다른 글
PM2 (0) | 2023.05.01 |
---|---|
node.js - 보안 모범 사례 (0) | 2023.04.25 |
AICodeHelper (0) | 2023.04.11 |
Node.js AWS S3 파일 업로드 (0) | 2023.04.07 |
node.js 웹 크롤링 (0) | 2023.04.05 |