공식 사이트 : https://pm2.keymetrics.io/
먼저 PM2는 코드에 직접적인 영향을 주지 않는다.
나는 Nest.js로 Back-End작업을 하며
을 해결하기 위해 PM2를 사용했다.
EC2에 코드를 올려놓고
npm run start
로 서버를 가동해도 명령어를 입력한 터미널을 종료하거나 해당 프로그램을 종료하면
서버는 그대로 중지된다.
즉 서버를 계속해서 가동시키기 위해 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다.
npm install -g 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로 실행한 서버의 상황을 보여주는 화면으로 이동하는 명령어