본문 바로가기

Node.js

PM2

 

PM2 - Home

Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.

pm2.keymetrics.io

 

PM2는 Node.js의 프로세스 매니저로서, Node.js 애플리케이션을 실행하고 관리할 수 있는 유용한 도구입니다. 이번에는 PM2에 대해서 자세히 알아보고, Node.js 애플리케이션을 실행하고 관리하는 방법에 대해 알아보겠습니다.

 

PM2란 무엇인가?

PM2는 Node.js 애플리케이션의 프로세스 매니저입니다. Node.js 애플리케이션을 실행하고 관리할 수 있는 유용한 도구로, 다음과 같은 기능을 제공합니다.

  • 프로세스 실행: Node.js 애플리케이션을 실행합니다.
  • 로깅: 로그 파일을 생성하고 로그를 기록합니다.
  • 재시작: 애플리케이션을 자동으로 재시작합니다.
  • 모니터링: 애플리케이션의 상태를 모니터링하고, CPU 사용률, 메모리 사용률, 인스턴스 수 등의 정보를 확인할 수 있습니다.
  • 환경 변수 관리: 환경 변수를 관리하고 변경할 수 있습니다.

PM2는 무료로 사용할 수 있으며, 커뮤니티에 의해 개발되고 유지보수됩니다.

 

PM2 설치하기

PM2를 사용하려면 먼저 Node.js를 설치해야 합니다. Node.js가 설치되어 있지 않다면, 공식 웹사이트에서 다운로드 받아 설치할 수 있습니다.

 

Node.js가 설치되었다면, PM2를 설치할 수 있습니다. PM2는 npm을 사용하여 설치할 수 있습니다.

npm install pm2 -g

위 명령어를 실행하면 PM2가 전역으로 설치됩니다.

 

PM2로 Node.js 애플리케이션 실행하기

PM2를 사용하여 Node.js 애플리케이션을 실행하는 방법은 매우 간단합니다. pm2 start 명령어를 사용하여 애플리케이션을 실행할 수 있습니다.

pm2 start app.js

 

위 명령어는 현재 디렉토리에서 app.js 파일을 실행합니다. 만약 app.js가 있는 디렉토리가 다르다면, 파일 경로를 지정해주어야 합니다.

pm2 start /path/to/app.js

애플리케이션이 실행되면, PM2는 애플리케이션의 상태를 모니터링합니다. pm2 list 명령어를 사용하여 현재 실행 중인 애플리케이션의 목록을 확인할 수 있습니다.

pm2 list

 

PM2 파라미터

PM2는 다양한 파라미터를 제공하여 애플리케이션을 실행하고 관리할 수 있습니다. 이번에는 PM2가 제공하는 주요 파라미터에 대해서 알아보겠습니다.

--name <name>
애플리케이션의 이름을 지정합니다. pm2 start app.js --name myapp와 같이 사용할 수 있습니다.

--watch
파일 변경을 감지하여 자동으로 재시작합니다. pm2 start app.js --watch와 같이 사용할 수 있습니다.

--ignore-watch <directories or files>
감지하지 않을 디렉토리 또는 파일을 지정합니다. pm2 start app.js --ignore-watch node_modules와 같이 사용할 수 있습니다.

--interpreter <interpreter>
스크립트를 실행할 인터프리터를 지정합니다. pm2 start app.py --interpreter python와 같이 사용할 수 있습니다.

--interpreter-args <args>
인터프리터의 인자를 지정합니다. pm2 start app.py --interpreter python --interpreter-args "-u"와 같이 사용할 수 있습니다.

--instances <number>
애플리케이션의 인스턴스 수를 지정합니다. pm2 start app.js --instances 4와 같이 사용할 수 있습니다.

--env <environment>
애플리케이션의 환경을 지정합니다. pm2 start app.js --env production와 같이 사용할 수 있습니다.

--max-memory-restart <memory>
메모리 사용량이 지정한 값 이상일 때 자동으로 재시작합니다. pm2 start app.js --max-memory-restart 200M와 같이 사용할 수 있습니다.

--cron <cron timing>
Cron 타이밍으로 애플리케이션을 실행합니다. pm2 start app.js --cron "0 0 * * *"와 같이 사용할 수 있습니다.

--no-daemon
백그라운드에서 실행하지 않고, 현재 터미널에서 실행합니다. pm2 start app.js --no-daemon와 같이 사용할 수 있습니다.

--log-date-format <format>
로그 파일의 날짜 형식을 지정합니다. pm2 start app.js --log-date-format "YYYY-MM-DD HH:mm:ss"와 같이 사용할 수 있습니다.

위의 파라미터 외에도 다양한 파라미터가 제공됩니다. pm2 --help 명령어를 사용하여 모든 파라미터를 확인할 수 있습니다.

 

'Node.js' 카테고리의 다른 글

JavaScript 클로저  (0) 2023.07.08
JavaScript의 즉시 실행 함수(IIFE)  (0) 2023.05.22
node.js - 보안 모범 사례  (0) 2023.04.25
node.js - 프로세스 매니저  (0) 2023.04.24
AICodeHelper  (0) 2023.04.11