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 |