ecosystem.config.js

agnusdei·2023년 9월 20일
0

ecosystem.config.js 파일은 Node.js 애플리케이션을 관리하고 배포하는 데 사용되는 PM2 프로세스 매니저의 설정 파일입니다. PM2는 Node.js 애플리케이션을 관리하는 동안 다음과 같은 기능을 제공합니다.

  1. 애플리케이션 프로세스 관리: 애플리케이션을 실행, 중지, 다시 시작하고 모니터링합니다.
  2. 로그 관리: 로그 파일을 관리하고 로그를 실시간으로 볼 수 있습니다.
  3. 환경 변수 관리: 환경 변수를 설정하고 애플리케이션에 전달합니다.
  4. 로드 밸런싱: 클러스터 모드로 여러 인스턴스를 실행하여 로드 밸런싱을 수행합니다.
  5. 자동 재시작: 애플리케이션이 비정상적으로 종료되면 자동으로 다시 시작됩니다.

이제 ecosystem.config.js 파일의 구성을 살펴보겠습니다.

ecosystem.config.js 파일 구성

ecosystem.config.js 파일은 다음과 같은 주요 구성을 포함할 수 있습니다.

module.exports = {
  apps: [
    {
      name: 'my-app', // 애플리케이션 이름
      script: 'app.js', // 애플리케이션 실행 파일
      args: '', // 실행 인수 (옵션)
      instances: 1, // 인스턴스 수
      autorestart: true, // 비정상 종료 시 자동 재시작
      watch: false, // 파일 변경 감지 시 재시작 (true 또는 파일/폴더 목록)
      max_memory_restart: '1G', // 메모리 초과 시 재시작
      env: {
        NODE_ENV: 'development' // 환경 변수 설정
      },
      env_production: {
        NODE_ENV: 'production'
      }
    }
  ]
};

위의 구성 예제에서 apps 배열에 하나의 애플리케이션 설정이 정의되어 있습니다. 이 설정은 단일 Node.js 애플리케이션을 관리하는 데 사용됩니다.

  • name: 애플리케이션의 이름을 정의합니다.
  • script: 실행할 Node.js 애플리케이션의 진입 파일을 지정합니다.
  • args: 애플리케이션 실행 시 전달할 인수를 설정합니다.
  • instances: 클러스터 모드로 실행할 인스턴스 수를 지정합니다.
  • autorestart: 애플리케이션 비정상 종료 시 자동으로 재시작할지 여부를 설정합니다.
  • watch: 파일 또는 폴더 변경을 감지하고 재시작할지 여부를 설정합니다.
  • max_memory_restart: 애플리케이션 메모리 제한을 초과하면 재시작하는 메모리 제한을 설정합니다.
  • envenv_production: 환경 변수를 설정합니다. 일반적으로 개발 및 프로덕션 환경에 대한 설정을 구분합니다.

PM2 CLI 예시

PM2 CLI를 사용하여 ecosystem.config.js 파일을 통해 애플리케이션을 관리하는 몇 가지 예시를 제공합니다.

  1. 애플리케이션 시작:

    pm2 start ecosystem.config.js
  2. 애플리케이션 중지:

    pm2 stop my-app
  3. 애플리케이션 재시작:

    pm2 restart my-app
  4. 애플리케이션 모니터링:

    pm2 monit
  5. 로그 확인:

    pm2 logs my-app

이러한 명령어를 사용하여 ecosystem.config.js 파일에 정의된 애플리케이션을 관리하고 모니터링할 수 있습니다. 이를 통해 Node.js 애플리케이션을 안정적으로 운영하고 관리할 수 있습니다.

0개의 댓글