소개
PM2 사용법을 작성해보았다.
설치
bashnpm install pm2 -g
기본 명령어
bash# 상태 확인 pm2 status # 실행 pm2 start <파일명> pm2 start <파일명> --name "프로세스 이름" # 재시작 pm2 restart <id | name> # 멈춤 pm2 stop <id | name> # 프로세스 삭제 pm2 delete <id | name> # 로그 보기 pm2 log <id | name> # pm2 에서 yarn 실행 pm2 start yarn --name "app_name" -- start
ecosystem.config.js
- standalone 기준으로 작성
javascriptmodule.exports = { apps: [ { name: "nextjs-app", // standalone 서버 엔트리 script: "server.js", // 프로젝트 루트 (절대경로 권장) cwd: "/var/www/nextjs-app/release", // CPU 코어 수만큼 클러스터 instances: 1, // 최대치 기준으로 자동조절 옵션로 하고 싶으면 "max" exec_mode: "cluster", // 기본 안정 옵션 autorestart: true, watch: false, max_memory_restart: "400M", // 환경 변수 env: { NODE_ENV: "production", PORT: 3000, }, // 로그 설정 error_file: "/var/www/nextjs-app/logs/error.log", out_file: "/var/www/nextjs-app/logs/out.log", log_date_format: "YYYY-MM-DD HH:mm:ss", // Graceful 관련 (기본 안정값) listen_timeout: 10000, kill_timeout: 5000, }, ], };