pm2 로 Next.js 실행하기

mangojang·2023년 4월 18일
1

상황

pm2 로 React+Next.js 로 구성된 어플리케이션를 무중단 배포 하고자 함.

방법

  1. build

    먼저, 어플리케이션 build를 실행 함.

    npm run build 

    또는 package.json의 scripts에 prestart를 다음과 같이 추가 해주면 npm start 를 실행 할 때 자동으로 prestart가 먼저 실행되고, prestart의 명령대로 build가 이루어져 npm run build를 따로 실행 안 해도 됨.

    package.json

    "scripts": {
        "dev": "next -p 3000",
        "build": "next build",
        "prestart": "npm run build",
        "start": "next start -p 80"
      },
  2. pm2 등록

    package.json

    "scripts": {
    ...
        "start": "next start -p 80"
    ...
      },

    cmd

    pm2 --name 어플리케이션이름 start npm -- start

    위의 명령어 실행 후 사이트 접속 했을 경우, 페이지가 나타나지 않으면 제대로 실행이 되지 않은 것이다.

    ( pm2 목록은 생성 되었으나, 사이트를 실제로 접속 했을 경우, 페이지가 뜨지 않았다.)

    필자는 그러하였고, pm2 목록을 지우고 다음과 같은 명령어로 새로 실행하였다.

    pm2 start "npm run start" --name 어플리케이션이름

참고 문헌

profile
한 걸음 한 걸음 계속 걷는 자가 일류다

0개의 댓글