1 분 소요

pm2란?

pm2란 Node.js 운영을 효율적이게 할 수 있게 하는 프로세스 관리도구인데요. 기본적으로 싱글스레드 기반이라 멀티스레딩이 불가능한 Node.js에서 멀티스레딩과 비슷하게 내부적으로 서버를 Fork해서 사용할 수 있도록 클러스터라는 기능을 제공하기도 하고 프로세스가 죽었을 때의 처리 등 직접 하나씩 하게 된다면 귀찮은 온갖 일들을 몽땅 관리해주는 강력한 도구입니다.

pm2 설치 방법

아래 명령어를 이용하여 전역설치를 해줍니다.

1
npm install pm2 -g

설치 할 때 뒤에 -g라는 옵션을 붙이는 이유는 pm2 명령어를 어떤 디렉토리에서든 사용할 수 있도록 하기 위함입니다.

pm2 명령어

  • 프로세스 실행
1
pm2 start 시작하고자 하는 파일 명.js
  • 실행중인 파일 리스트 보기
1
pm2 list
  • 상세 정보 보기
1
pm2 show 파일명
  • 프로세스 종료
1
pm2 stop 실행중인 파일 명.js
  • pm2 데몬 자체를 꺼버리기
1
pm2 kill

(위에서 stop이라는 명령어를 사용하면 프로세스는 중지되지만 pm2가 여전히 관리하고 있는 상태가 됩니다. 데몬 자체를 꺼버리기 위해서는 kill명령어를 입력해야합니다.)

  • 프로세스 재시작
1
pm2 restart 실행중인 파일 명.js
  • 모니터링
1
pm2 monit

(모니터링 상태에서는 pm2로 관리되는 프로세스별 상태를 볼 수 있고 실시간으로 로그를 확인하는 것이 가능합니다. 모니터링 상태에서 빠져나오기 위해서는 키보드의 q키를 누르면 됩니다.)

  • 자동 재시작 설정
1
pm2 start 실행하고자 하는 파일 명.js --watch

(위와 같이 watch 옵션을 추가하게 되면 pm2에서 파일 변경을 파악하고 자동 재시작을 해줍니다. node는 내용을 변경하고 나면 서버를 껐다가 다시 켜줘야만 변경사항이 반영되는데 자동 재시작을 해주기 때문에 굉장히 편리합니다.)

  • 로그 보기
1
pm2 log

Today I Learned

이번 포스팅에서는 pm2에 대해서 공부한 내용들을 간단하게 정리해보았고, 기본적인 pm2 명령어들도 살펴보았습니다.

참고 사이트

https://pm2.keymetrics.io/

🔔포스팅 공지
개인 공부 기록용 블로그 입니다.
잘못된 부분이 있을 시 메일이나 댓글로 지적해주시면 감사드리겠습니다 :)

댓글남기기