티스토리 뷰
PM2는 P(rocess) M(anager) 2 로 NodeJS 프로세서를 관리해주는 역할을 합니다. PM2는 앱이 계속 살아 있을수 있도록 도와 주는 역할을 하고 프로그램의 다운없이 다시로드 할수 있도록 해주는 등의 역할을 합니다.
1. 설치하기
npm 을 이용함으로 설치는 간단히 npm install pm2 -g 로 설치 합니다.
$ npm install pm2 -g
2. 실행 및 종료하기
실행 역시 간단합니다. pm2 start app.js 명령어 만으로 nodejs 프로젝트의 실행이 가능합니다.
$ pm2 start app.js
아래와 같이 여러개의 프로세서를 켜두고 작동을 볼수도 있습니다.
종료는 pm2 stop id 혹은 pm2 kill 로 해당 프로세스를 종료하거나 pm2 자체를 종료할수도 있습니다.
$ pm2 stop 0 $ pm2 kill
좀더 자세한 방법들은 아래에서 설명드리겠습니다.
3. 기본적인 사용방법들
사용 관련 기능들이니 따로 설명 드리진 않겠습니다. 따라해보는게 더 좋을 것 같습니다.
리스트 보기
$ pm2 list
프로세스 관리 - 종료, 재시작, 삭제
$ pm2 stop <app_name|id|'all'|json_conf> $ pm2 restart <app_name|id|'all'|json_conf> $ pm2 delete <app_name|id|'all'|json_conf>
프로세스 정보 보기
$ pm2 describe <id|app_name>
cluster 를 이용한 로드 벨런싱
* 로그벨런스의 경우 NodeJS v0.10.* 버전의 클러스터 모듈을 지원하지 않습니다. v0.11.16 혹은 v0.12.0 이상의 버전을 이용해 주셔야 합니다.
$ pm2 start app.js -i 0 # 로드벨런스와 cluster 기능을 사용합니다.
PM2 클러스터링 추가정보 확인하기 : https://keymetrics.io/2015/03/26/pm2-clustering-made-easy/
PM2 를 이용하여 NodeJS 를 종료 하지 않고 리로드 하기
$ pm2 reload all
PM2 를 이용하여 앱 프로세스 숫자 조절 하기
$ pm2 scale# 프로세스 숫자 늘리기 / 줄이기
PM2 를 이용하여 CPU / Memory 모니터링 하기
$ pm2 monit
PM2 실시간 로그 보기 - 실행중인 프로세스의 PM2 의 로그를 볼수 있습니다.
$ pm2 logs ['all'|'PM2'|app_name|app_id] [--err|--out] [--lines] [--raw] [--timestamp [format]]
$ pm2 logs $ pm2 logs WEB-API --err $ pm2 logs all --raw $ pm2 logs --lines 5 $ pm2 logs --timestamp "HH:mm:ss" $ pm2 logs WEB-API --lines 0 --timestamp "HH:mm" --out $ pm2 logs PM2 --timestamp $ pm2 flush # 모든 로그 삭제하기
pm2 로그관련 추가정보 링크 : http://pm2.keymetrics.io/docs/usage/log-management/
자동시작 스크립트 생성하기 - 간단히 OS 별 자동 시작 스크립트를 만드는 방법 입니다.
$ pm2 startup # 플렛폼을 적어 주지 않으시면 자동으로 플렛폼을 감지합니다. $ pm2 startup [platform] # 플렛폼을 적어주시면 해당 플렛폼 스크립트가 적용 # ubuntu|centos|redhat|gentoo|systemd|darwin|amazon #프로세스 리스트 저장하기 $ pm2 save # -u 옵션을 이용하여 자동시작 사용자 지정하기 $ pm2 startup ubuntu -u www-data
각 플렛폼 별로 스크립트 파일및 적용 방법이 다르니 아래의 추가 정보 링크를 참고하시기 바랍니다.
자동시작 관련 추가정보 링크 : http://pm2.keymetrics.io/docs/usage/startup/
PM2 개발자 모드 - Development Mode
PM2 에서 지원하는 개발자 모드를 이용하는 방법 입니다. 파일 변경 및 로그를 실시간으로 보여 주고 파일 변경시 변경을 감지하여 자동으로 재시작 해줍니다.
$ pm2-dev run my-app.js
대략적으로 PM2 사용방법 들에 대해 알아봤습니다.
추가적으로 웹 GUI 모니터링 을 제공하는 Keymetrics 모니터링 이라는 서비스가 있습니다. 이곳에서 pm2 를 등록하여 서버 상태등을 볼수있는 서비스를 제공합니다.
아직 사용해보지는 못했지만 아래는 가격 정보입니다.
필요 하신분들께는 유용한 서비스 일것 같습니다.
즐거운 개발 되시기 바랍니다. ^^
'Dev Languages > NodeJS' 카테고리의 다른 글
Ubuntu 14.04 에 NodeJS 설치 및 nodejs 버전 변경용 n 설치 및 사용법 (0) | 2016.03.01 |
---|---|
NodeJS Express 와 Socket.io 를 이용하여 채팅 앱 만들기 (0) | 2015.10.02 |
NodeJS 에서 Express 설치 및 시작하기 (0) | 2015.10.01 |
NodeJS 업데이트 하기 (0) | 2015.03.08 |
Nodejs 글로벌 ( Global ) 패키지 설치 및 npm package.json 관리 (0) | 2015.03.08 |
- Total
- Today
- Yesterday
- 설치
- Tutorialbook
- 맥
- it
- mac
- 개발
- Laravel
- 서버 개발
- 데이터베이스
- Database
- 게임
- 인터넷
- 웹 개발자
- html
- 서버
- 웹 개발
- cocos2d-x
- php
- SNS
- 웹
- 개발자
- Developer
- Nodejs
- 게임 개발
- 튜토리얼북
- 에러
- 우분투
- ubuntu
- JavaScript
- 웹 서버
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |