리눅스 pm2
From IT위키
- Node.js 프로세스 관리 도구
리눅스에서 Node.js 프로그램을 데몬으로 구동하기 위한 프로세스 관리 도구
설치
- 명령어로 사용되어야 하므로 npm -g를 이용해 전역으로 설치한다.
$ npm install pm2 -g $ pm2 version 1.0.1
프로세스 실행
- node 프로세스를 데몬으로 실행한다.
$ pm2 start app.js [PM2] Spawning PM2 daemon [PM2] PM2 Successfully daemonized [PM2] Starting app.js in fork_mode (1 instance) [PM2] Done. ┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ ├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤ │ app │ 0 │ fork │ 4004 │ online │ 0 │ 0s │ 14.492 MB │ disabled │ └──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
실행중인 프로세스 보기
$ pm2 list ┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ ├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤ │ example │ 0 │ fork │ 41402 │ online │ 0 │ 71s │ 34.754 MB │ disabled │ └──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
프로세스 상세 내용 보기
$ pm2 show example Describing process with id 0 - name example ┌───────────────────┬───────────────────────────────────────────────┐ │ status │ online │ │ name │ example │ │ node.js version │ 4.3.0 │ │ id │ 0 │ │ path │ /Users/outsider/temp/app.js │ │ args │ N/A │ │ exec cwd │ /Users/outsider/temp │ │ error log path │ /Users/outsider/.pm2/logs/example-error-0.log │ │ out log path │ /Users/outsider/.pm2/logs/example-out-0.log │ │ pid path │ /Users/outsider/.pm2/pids/example-0.pid │ │ mode │ fork_mode │ │ node v8 arguments │ N/A │ │ watch & reload │ ✘ │ │ interpreter │ node │ │ restarts │ 0 │ │ unstable restarts │ 0 │ │ uptime │ 3m │ │ created at │ 2016-02-21T13:41:59.371Z │ └───────────────────┴───────────────────────────────────────────────┘ Process configuration Probes value ┌────────────┬────────┐ │ Loop delay │ 0.92ms │ └────────────┴────────┘
부팅 시 실행되게 하기
자동 실행 등록
- pm2 startup 명령어 파악
$ pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u --hp /home/node
- 복사/붙여넣기 하라고 나오는 명령줄 (sudo env...)를 그대로 복사해서 실행
$ pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u --hp /home/node
- 성공 메시지 확인
자동 실행 해제
- pm2 unstartup 를 통해 동일하게 가이드 따라 수행
$ pm2 unstartup