Bereitstellung einer TypeScript-Anwendung auf VPS: Schritt-für-Schritt-Anleitung von A bis Z

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum ist ein VPS der ideale Ort für Ihr TypeScript-Projekt?



Sie haben eine tolle Anwendung in TypeScript geschrieben – sei es ein Express-Server, eine Next.js-Website oder eine NestJS-API. Lokal funktioniert alles einwandfrei, aber es ist an der Zeit, das Projekt der Welt zu zeigen. Viele Anfänger fürchten sich vor der Bereitstellungsphase und halten sie für komplex und verwirrend. In Wirklichkeit reicht es, diesen Prozess einmal zu verstehen – und Sie können jedes TypeScript-Projekt in 15-20 Minuten bereitstellen.



In dieser Anleitung behandeln wir den vollständigen Zyklus der Bereitstellung einer TypeScript-Anwendung auf einem VPS (Virtual Private Server) – von der Servervorbereitung bis zur Domain-Konfiguration und HTTPS. Der Artikel konzentriert sich auf das Node.js-Ökosystem, da TypeScript am häufigsten damit verwendet wird.



Was Sie lernen werden:

  • Wie Sie einen VPS für die Arbeit vorbereiten (Ubuntu 22.04)
  • Wie Sie Node.js, TypeScript und den Prozessmanager PM2 konfigurieren
  • Wie Sie TypeScript im Produktionsmodus bauen (kompilieren)
  • Wie Sie Nginx als Reverse Proxy konfigurieren
  • Wie Sie kostenlos ein SSL-Zertifikat über Let's Encrypt einbinden


1. VPS-Vorbereitung und Installation der erforderlichen Umgebung



1.1 Ersteinrichtung des Servers



Angenommen, Sie haben einen VPS (z.B. bei DigitalOcean, Timeweb oder Reg.ru) mit Ubuntu 22.04 gemietet. Stellen Sie zunächst eine Verbindung zum Server über SSH her:



ssh root@ihre-server-ip


Erstellen Sie einen separaten Benutzer (sicherer als unter root zu arbeiten):



adduser deployerusermod -aG sudo deployersu - deployer


1.2 Installation von Node.js und npm



Für die TypeScript-Anwendung benötigen wir Node.js Version 18 oder 20 (LTS). Verwenden Sie das offizielle NodeSource PPA:



curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt-get install -y nodejs


Überprüfen Sie die Installation:



node -vnpm -v


1.3 Globale Installation von TypeScript (optional)



Obwohl TypeScript normalerweise als lokale Abhängigkeit des Projekts enthalten ist, können Sie es für eine schnelle Überprüfung der Kompilierung global installieren:



sudo npm install -g typescript


1.4 Klonen Ihres Projekts



Kopieren Sie das Repository von GitHub/GitLab auf den Server:



git clone https://github.com/ihr-benutzername/ihr-projekt.gitcd ihr-projekt


Installieren Sie die Abhängigkeiten:



npm install


2. TypeScript-Build und PM2-Konfiguration



2.1 Kompilierung von TypeScript in JavaScript



In Ihrer package.json sollte ein Build-Skript vorhanden sein. Normalerweise sieht es so aus:



{  "scripts": {    "build": "tsc",    "start": "node dist/index.js",    "dev": "ts-node-dev src/index.ts"  }}


Starten Sie den Build:



npm run build


Nach der Ausführung erscheint im Ordner dist der kompilierte JavaScript-Code. Wenn Sie Next.js verwenden, lautet der Build-Befehl npm run build (Next.js kompiliert TypeScript selbst).



2.2 Installation und Konfiguration von PM2



PM2 ist ein Prozessmanager, der Ihre Anwendung am Laufen hält, sie bei einem Absturz neu startet und Logs verwaltet. Installieren Sie ihn:



sudo npm install -g pm2


Starten Sie die Anwendung über PM2 (geben Sie den Pfad zur kompilierten Datei an):



pm2 start dist/index.js --name "my-typescript-app"


Wenn Sie Next.js verwenden, lautet der Befehl anders:



pm2 start npm --name "next-app" -- start


Konfigurieren Sie den automatischen Start von PM2 beim Neustart des Servers:



pm2 startup systemdpm2 save


Jetzt läuft Ihre Anwendung auf einem lokalen Port (z.B. 3000). Machen wir sie über eine Domain verfügbar.



3. Konfiguration von Nginx als Reverse Proxy



3.1 Installation von Nginx




                
                

Blogs

Buchempfehlungen