pm2를 사용한 Node 무중단 배포

January 01, 2023

PM2?

pm2는 npm으로 설치하는 Node 서버 관리 어플리케이션이다.

설치 방법

npm i -g pm2

설치는 글로벌 옵션으로 설치한다. 그래야 어떤 프로젝트에서든지 사용 가능하다.

사용 방법

cd /path/to/node/project

node 프로젝트 폴더로 이동하자.

npm run build

pm2로 실행 전에 build를 해줘야한다. npm run start 를 하기 전에 build를 하는 것과 같다.

pm2 start npm --name "project name" -- start

프로젝트 이동 후 위의 명렁어로 프로젝트를 pm2에 등록하여 npm run start를 pm2로 올린다.

무중단 배포

이제는 무중단 배포를 알아보자

pm2 list 로 현재 올라가 있는 node service를 확인해 본다.

정상적인 pm2 list 화면

위 이미지처럼 보여질 것이다.

0번 id의 프로젝트가 현재 npm run start 로 구동되어 있다는 내용이다.

즉, 현재 background에서 해당 프로젝트가 구동 중인 상태인 것이다.

이제 변경점에 대한 무중단 배포는 간단하다.

해당 프로젝트 폴더에서 npm run build 만 해주면 된다.

그러면 pm2 가 build를 감지해서 변경된 build 파일을 로드하게 된다.