1. pm2 설치(ubuntu, Mac)
sudo npm install pm2@latest -g
2. app.js 파일 위치에 myapp.config.js 파일 생성
name : 프로세스목록에서 보여질 이름을 지정한다. (도메인으로 하면 좋을듯...)
3. 실행하기
pm2 start myapp.config.js
아래 로그 출력 됨.
[PM2] Spawning PM2 daemon with pm2_home=/home/ubuntu/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications http://www.domain.co.kr not running, starting...
[PM2] App [http://www.domain.co.kr] launched (1 instances)
┌─────────────────────────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬────────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├─────────────────────────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼────────┼──────────┤
│ http://www.domain.co.kr │ 0 │ 0.0.0 │ fork │ 12614 │ online │ 0 │ 0s │ 0% │ 23.2 MB │ ubuntu │ disabled │
└─────────────────────────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
4. 중지하기
$ pm2 stop. myapp.config.js
[PM2] [http://www.domain.co.kr](0) ✓
┌─────────────────────────────┬────┬─────────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬────────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├─────────────────────────────┼────┼─────────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼────────┼──────────┤
│ http://www.domain.co.kr. │ 0 │ 0.0.0 │ fork │ 0 │ stopped │ 0 │ 0 │ 0% │ 0 B │ ubuntu │ disabled │
└─────────────────────────────┴────┴─────────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
5. 재시작 하기
$ pm2 restart. myapp.config.js
[PM2] Applying action restartProcessId on app [http://www.domain.co.kr](ids: 0)
[PM2] [http://www.domain.co.kr](0) ✓
┌─────────────────────────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬────────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├─────────────────────────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼────────┼──────────┤
│ http://www.domain.co.kr. │ 0 │ 0.0.0 │ fork │ 12693 │ online │ 1 │ 0s │ 0% │ 17.7 MB │ ubuntu │ disabled │
└─────────────────────────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
터미널을 종료해도 운영은 계속....