Diese Anleitung beschreibt das Deployment eines Next.js Frontends und eines NestJS Backends auf einem einzigen Server unter Verwendung von PM2 und Nginx als Reverse Proxy. Die Next.js Anwendung läuft auf Port 3001 und ist über den Root-Pfad erreichbar, während das NestJS Backend auf Port 8000 läuft und über '/api' angesprochen wird. PM2 verwaltet beide Anwendungen und sorgt für einen reibungslosen Betrieb. Nginx fungiert als Reverse Proxy und leitet Anfragen basierend auf dem URL-Pfad an den entsprechenden Port weiter. Das Backend wird mit `pm2 start dist/main.js` deployed, wobei der Port in `src/main.ts` angegeben wird. Das Frontend wird mit `pm2 start npm -- start` deployed, wobei das `start` Skript in `package.json` verwendet wird. Eine Nginx Konfigurationsdatei wird erstellt, die '/' an Port 3001 und '/api' an Port 8000 leitet. Ein symbolischer Link aktiviert die Nginx Konfiguration. Abschließend testet `nginx -t` die Konfiguration, und `systemctl restart nginx` startet den Server neu. Die deployed Anwendungen sind dann über einen spezifischen Domainnamen erreichbar. Dieses Setup bietet eine robuste und effiziente Deployment-Strategie für miteinander verbundene Frontend- und Backend-Anwendungen.
dev.to
Deploy NestJS and NextJS application in same server using pm2 and Nginx
Create attached notes ...
