pm2란

김민호·2022년 9월 30일
0

Dev-Ops

목록 보기
1/2

공식 사이트 : https://pm2.keymetrics.io/

먼저 PM2는 코드에 직접적인 영향을 주지 않는다.
나는 Nest.js로 Back-End작업을 하며

  • 어떠한 연유로 갑자기 서버가 중지되는 상황

을 해결하기 위해 PM2를 사용했다.
EC2에 코드를 올려놓고

npm run start

로 서버를 가동해도 명령어를 입력한 터미널을 종료하거나 해당 프로그램을 종료하면
서버는 그대로 중지된다.

즉 서버를 계속해서 가동시키기 위해 PM2를 사용했다.

  • PM2를 사용하는 이유 중 또 하나는 Nest.js의 기반인 Node.js는 싱글 스레드 기반인데
    멀티 코어 혹은 하이퍼 스레딩을 가능하게 해준다

🎈PM2란?

공식 홈페이지에서 PM2를 다음과 같이 정의하고 있다.

PM2 is a daemon process manager that will help you manage and keep your application online. Getting started with PM2 is straightforward, it is offered as a simple and intuitive CLI, installable via NPM.

간단히 해석하자면 apllication의 관리를 도와주는 process manager다.


🎈PM2 설치

npm install -g pm2

전역으로 설치를 해야 실행 명령어를 사용할 수 있다 (✨중요)


🎈PM2 사용법

기본 명령어로

pm2 --version
pm2 start
pm2 kill
pm2 log
pm2 list
pm2 monit

(1) pm2 --version
번전 확인용 명령어


(2) pm2 start
PM2 가동 명령어이다. Node.js에서 사용 시 바로 가동 되지만
Nest.js에서는 추가적인 과정이 필요하다.
추가 과정은

pm2 start // 기본 실행 명령어
pm2 start [script file name] // 선택 파일로 pm2 실행

pm2 ecosystem // pm2 설정파일 생성 명령어 -> ecosystem.config.ts 라는 설정파일이 생성된다.

pm2 start ecosystem.config.ts --env [설정 이름] // 지정한 설정으로 환경 변수 사용

(3) pm2 kill
PM2 중지 명령어다. 입력시 PM2 모든 프로세스가 중지된다.


(4) pm2 log
실행 중인 PM2의 log를 확인하는 명령어


(5) pm2 monit
PM2로 실행한 서버의 상황을 보여주는 화면으로 이동하는 명령어

  • 터미널에서 작업시 q를 누르면 빠져나올 수 있다.

0개의 댓글