• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

next js pm2 배포 관련 질문이 있습니다.

21.12.31 11:12 작성 조회수 2.65k

0

현재 배포중인 next js 서비스에 수정사항이 생겨서 새로 코드를 받은 후 npm run build를 할 때, build를 하는 기간 동안 서비스 접속을 하면

500 Error: Cannot find module 가 먼저 나오고, 새로고침을 계속 할 시에

404 Application error: a client-side exception has occurred (see the browser console for more information).

해당 오류가 나옵니다.

 

build가 끝나면 서비스 접속은 되지만

 

pm2 reload를 하기 전까지는 아래와 같이 매니패스트 파일을 불러오지 못하고,

 

pm2 reload를 하고 나면 정상적으로 서비스가 작동합니다.

 

 

해당 사항을 해결하려면 어떻게 해야할지 궁금합니다.

답변 1

답변을 작성해보세요.

0

빌드를 서버에서 하지 마시고 개발 컴퓨터에서 하신 뒤 git에 .next 폴더를 올리세요. 그리고 나서 서버에서 git pull받아서 pm2 reload 하시면 다운타임을 최소화할 수 있습니다.

빌드와 서버를 분리하는게 핵심입니다. 실무에서도 빌드용 서버를 따로 둡니다.

그럼 로컬에서 build를 먼저 한 뒤에, git에 build를 한 프로젝트 파일 (.next 폴더 포함)을 push 한다음에 해당 프로젝트를 pull 해서 pm2 reload all을 하는 순서가 맞을까요?

네 맞습니다!

답변해주셔서 감사합니다.