pm2 설치 전 터미널 관리자 계정 진입 : sudo -s
설치 : npm install pm2 -g
실행 : pm2 start <실행시킬 서버.js>
리스트 확인 : pm2 list
중지 : pm2 stop <app_name>
재시작 : pm2 restart <app_name>
삭제 : pm2 delete <app_name>
현재 pm2 앱 목록 저장 : pm2 save
저장된 앱 목록 복구(dump) : pm2 resurrect
pm2 start app.js --watch
pm2 start app.js --watch --no-daemon
pm2 start app.js --watch --ignore-watch="(파일경로)" --no-daemon
출처: https://dydals5678.tistory.com/100 [아빠개발자의 노트:티스토리]
PM2로 여러 개의 앱을 실행하고 관리할 때 스크립트 파일로 저장해서 목록을 관리할 수 있다.
ecsystem.config.js 파일을 원하는 곳에 생성한 후 앱의 이름, 경로, 환경변수들을 설정해둔다.
pm2로 ecosystem.config.js 파일을 실행하면 스크립트 내용 그대로 실행되며, 앱들을 편하게 관리할 수 있다.
pm2 start ecosystem.config.js
// ecosystem.config.js
module.exports = {
apps : [
{
name: "myapp", // 실행할 앱의 이름
script: "./app.js", // pm2로 시작할 파일의 상대 경로
watch: true, // 파일 변경 모니터링, 파일 변동시 재시작
cwd : "./app" // 앱이 실행될 디렉토리 (환경변수 파일이 앱과 다른 디렉토리에 있을 때)
env: {
"PORT": 3000,
"NODE_ENV": "development"
},
env_production: {
"PORT": 80,
"NODE_ENV": "production",
}
},
{
name: "anotherapp",
...
}
]
}