나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2026-01-13 10:52:42

PM2

[include(틀:소프트웨어 정보
, 이름 = PM2
, 로고 =
, 장르 = 프로세스 관리자, 로드 밸런서
, 개발 = Unitech
, 발표 = 2013년
, 최신 버전 = 5.3.0
, 언어 = JavaScript, Node.js
, 플랫폼 = 크로스 플랫폼
, 라이선스 = AGPL 3.0
, 사이트 = 공식 홈페이지
)]

1. 개요2. 주요 특징3. 사용법
3.1. 기본 명령어3.2. 설정 파일 (Ecosystem File)
4. 여담

1. 개요

PM2(Process Manager 2)는 Node.js 애플리케이션을 위한 프로덕션(Production) 레벨의 프로세스 관리자이다.

Node.js는 기본적으로 싱글 스레드(Single Thread)로 동작하며, 에러가 발생하면 프로세스가 종료되는 특성이 있다. 서버 운영 시 이러한 예기치 못한 종료를 방지하고, 서버가 재부팅되더라도 애플리케이션을 자동으로 실행해주며, 멀티 코어 시스템의 자원을 최대한 활용할 수 있도록 돕는 도구이다.

전 세계적으로 Node.js 백엔드 배포 환경에서 표준처럼 사용되고 있다.

2. 주요 특징

3. 사용법

npm이나 yarn을 통해 전역(Global)으로 설치하여 사용하는 것이 일반적이다.

#!syntax bash
$ npm install pm2 -g

3.1. 기본 명령어

3.2. 설정 파일 (Ecosystem File)

실무에서는 명령어를 일일이 치기보다 `ecosystem.config.js`라는 설정 파일을 만들어 관리한다. 이 파일에 환경 변수, 인스턴스 개수, 로그 경로 등을 정의해두면 `pm2 start ecosystem.config.js` 명령어 하나로 복잡한 설정을 한 번에 실행할 수 있다.

#!syntax javascript
module.exports = {
  apps : [{
    name   : "my-app",
    script : "./app.js",
    instances : "max",
    exec_mode : "cluster",
    env: {
      NODE_ENV: "development"
    },
    env_production: {
      NODE_ENV: "production"
    }
  }]
}

4. 여담