이 가이드에서는 PM2 및 Nginx를 역방향 프록시로 사용하여 단일 서버에 Next.js 프론트엔드와 NestJS 백엔드를 배포하는 방법에 대해 자세히 설명합니다. Next.js 애플리케이션은 루트 경로를 통해 액세스할 수 있는 포트 3001에서 실행되는 반면 NestJS 백엔드는 '/api'를 통해 액세스되는 포트 8000에서 실행됩니다. PM2는 두 애플리케이션을 모두 관리하여 원활한 작동을 보장합니다. Nginx는 역방향 프록시 역할을 하여 URL 경로를 기반으로 적절한 포트로 요청을 라우팅합니다. 백엔드는 'pm2 start dist/main.js'를 사용하여 배포되며 'src/main.ts'에 포트를 지정합니다. 프론트엔드는 'package.json'의 'start' 스크립트를 사용하여 'pm2 start npm -- start'를 사용하여 배포됩니다. Nginx 구성 파일이 생성되어 '/'를 포트 3001로, '/api'를 포트 8000으로 지정합니다. 심볼릭 링크를 사용하면 Nginx 구성을 사용할 수 있습니다. 마지막으로 'nginx -t'는 구성을 테스트하고 'systemctl restart nginx'는 서버를 다시 시작합니다. 그런 다음 배포된 응용 프로그램은 지정된 도메인 이름을 통해 액세스할 수 있습니다. 이 설정은 상호 연결된 프런트엔드 및 백엔드 애플리케이션을 위한 강력하고 효율적인 배포 전략을 제공합니다.
dev.to
Deploy NestJS and NextJS application in same server using pm2 and Nginx
