[node.js] PM2 를 알아보자

devheyrin·2022년 6월 15일
0

NodeJS

목록 보기
1/5

PM2란?

여기에서 확인

PM2 is a daemon process manager that will help you manage and keep your application online 24/7

라고 나와 있다.
node app.js 로 실행하면 소스를 변경할 때마다 서버 내렸다 올려야하는 등..귀찮음을 유발하는 일이 많은데
pm2 start app.js 로 실행하면 소스를 변경할 때마다 알아서 서버를 내렸다가 다시 올려주고, 가동중인 서버들을 실시간으로 확인할 수 있다.
애플리케이션 서버 운영을 대신해주는 프로그램이라고 생각하면 된다!

사용방법

설치

pm2 는 npm을 이용해서 설치한다.
cmd창에 다음 명령을 입력하면 설치된다.

npm install pm2 -g

EACCESS가 뜨거나, 접근을 못해서 어쩌구.. 라는 ERROR가 뜨면 다음과 같이 sudo 를 붙여주면 된다.

sudo npm install pm2 -g

실행하기(서버 띄우기)

아래 명령을 치면 app.js(여기에 실행하고싶은 파일 이름을 넣는다.) 를 pm2가 실행시키고, 스크립트 파일에 적힌대로 서버를 띄워준다.

pm2 start app.js

로그를 함께 확인하고 싶다면 --attach 옵션을 붙여준다.

pm2 start api.js --attach

소스 변경을 추적하고 서버를 자동 재시작시켜주고 싶다면(주요목적) --watch 옵션을 붙여준다.

pm2 start api.js --watch

재실행하고 싶다면

pm2 restart [app] -> 원하는 어플리케이션의 이름 또는 아이디

상태 확인

실행중인 어플리케이션의 상태를 확인하려면

pm2 list or pm2 status

어플리케이션의 CPU 점유 상태를 확인하려면

pm2 monit

특정 어플리케이션의 상세 정보를 확인하려면

pm2 show [app] -> 원하는 어플리케이션의 이름 또는 아이디

실행중단, 삭제, 모든 프로세스 삭제

실행중인 특정 어플리케이션을 중단

pm2 stop [app] -> 원하는 어플리케이션의 이름 또는 아이디

실행중인 어플리케이션 모두 중단

pm2 stop all

어플리케이션 삭제

pm2 delete [app] -> 원하는 어플리케이션의 이름 또는 아이디

어플리케이션 모두 삭제

pm2 delete all

모든 프로세스 삭제, 태초의 상태로 돌아가기

pm2 kill

로그 확인/삭제

로그 확인은 아래 명령으로 가능하다.

pm2 logs

사용 가능한 옵션 목록은 다음과 같다. (자주 쓸 법한 것만 모음)

  • --err 에러만 보여준다.
  • --out 표준 출력만 보여준다.
  • --lines <n> 출력 라인 수를 n으로 제한한다.
  • --timestamp [format] timestamp를 format으로 지정한 형식으로 출력한다.
  • highlight [value] value 로 지정한 값만을 하이라이팅해서 보여준다.
  • -h 사용 관련 정보를 보여준다.

로그를 삭제하려면

pm2 flush

특정 어플리케이션에 관한 로그만 삭제하려면

pm2 flush

로그 확인을 중단하고 싶으면 ctrl + C 를 누르면 된다.

profile
개발자 헤이린 🔜 프로덕트 매니저로 나아가는 중!

0개의 댓글