-
죽지 않고 유지하는 pm2 사용법 :: 마이구미Nodejs 2016. 7. 2. 15:14반응형
이번 글은 Node.js에서 사용할 수 있는 프로세스 관리자 모듈을 알아보겠다.
크게 모듈에는 Strongloop, PM2. Forever 세 가지가 있다.
Forever는 나머지에 비해 다소 기능이 떨어진다. 소규모 프로젝트에 어울린다.
이번 글에서는 PM2를 다룰 예정이다.
Node.js 웹서버를 실행하기 위해서는 대부분 node 명령어를 사용한다.
$ node <filename>
노드 실행 시 오류가 있으면 프로세스는 중단된다. 또한 종료하여도 중단된다.
그래서 한번이라도 사용해봤다면 이런 생각은 한번쯤 했을 것이다.
그렇다면 어떻게 톰캣처럼 서버가 계속 중단되지 않고 실행될까?
그때 이용하는 모듈이 PM2이다.
$ npm install pm2
먼저 npm를 이용하여 pm2를 설치한다.
끝이다. 이제 pm2 명령어들만 알면 된다.
코드에 추가할 것도 없다. 명령어도 간단하다.
$ pm2 start index.js
실행하고자하는 스크립트 파일을 위 명령어로 실행하면 끝이다.
아래와 같이 나올 것이다.
그리고 여러개를 실행할 경우 list 명령어를 통해 확인할 수 있다.
$ pm2 list
그리고 난 App name이 index인 녀석을 삭제하고 싶은 경우는 delete 명령어를 통해 할 수 있다.
list 명령어를 통해 확인 가능한 id을 값을 이용하면 된다.
$ pm2 delete 0
잘 돌아가고 있는 지 로그들을 확인하고 싶을 경우에는 logs 명령어를 통해 확인할 수 있다.
또한 pm2를 통해 실행되어진 각 프로세스 기준으로 각 로그들을 볼 수 있다.
먼저 info 명령어와 id를 통해 실행한다.
$ pm2 info 0
그러면 아래 이미지처럼 나올 것이다.
위 log path를 통해 tail 명령어를 통해 확인할 로그파일들을 보면 된다.
$ tail -f /root/.pm2/logs/<filename>.log
자세한 명령어들은 아래 링크를 참조하면 되겠다.
Stringloop PM2 Forever 비교
PM2
반응형'Nodejs' 카테고리의 다른 글
라우팅 모듈화를 통한 MVC 패턴 ::마이구미 (0) 2017.01.21 [nodejs] redis session 저장소 관리 :: 마이구미 (0) 2017.01.08 pm2를 활용한 클러스터링 :: 마이구미 (0) 2016.07.26 euc-kr 문제 해결을 위한 iconv :: 마이구미 (0) 2016.06.17 nodejs를 이용해 데이터베이스에 삽입하기(객체배열) (0) 2016.06.12