Bereitstellung einer TypeScript-Anwendung auf einem VPS: Schritt-für-Schritt-Anleitung

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
```html

Bereitstellung einer TypeScript-Anwendung auf einer VPS: Schritt-für-Schritt-Anleitung



Sie haben eine coole Anwendung in TypeScript geschrieben. Lokal funktioniert alles perfekt, aber es ist Zeit, das Projekt der Welt zu zeigen. Die Bereitstellung auf einer VPS (Virtual Private Server) ist ein logischer und flexibler Schritt. Im Gegensatz zu Cloud-Plattformen gibt Ihnen eine VPS die volle Kontrolle über die Umgebung.



In diesem Artikel werden wir den schrittweisen Prozess der Bereitstellung einer TypeScript-Anwendung auf einer VPS durchgehen. Wir werden Node.js, PM2 zur Prozessverwaltung und Nginx als Reverse Proxy verwenden. Alle Beispiele sind in TypeScript.



Es werden grundlegende Kenntnisse in der Arbeit mit Linux und SSH vorausgesetzt.



1. Servervorbereitung und Verbindung



Der erste Schritt ist die Anmietung einer VPS (DigitalOcean, Vultr, Timeweb usw.) und die Verbindung per SSH.



ssh root@ihre_server_ip


Aktualisieren wir sofort die Pakete und installieren die notwendigen Dienstprogramme:



apt update && apt upgrade -yapt install curl git nginx -y


Installieren wir Node.js (wir empfehlen die LTS-Version):



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


Überprüfen wir die Versionen:



node -vnpm -v


2. Repository klonen und TypeScript kompilieren



Jetzt klonen wir Ihr Projekt. Als Beispiel verwenden wir eine einfache Express-Anwendung in TypeScript:



git clone https://github.com/ihr_benutzername/ihr_repository.gitcd ihr_repository


Installieren wir die Abhängigkeiten:



npm install


TypeScript muss in JavaScript kompiliert werden. Normalerweise geschieht dies mit dem Befehl:



npm run build


In der package.json sollte dies wie folgt definiert sein:



{  "scripts": {    "build": "tsc",    "start": "node dist/index.js"  }}


Überprüfen Sie, ob im Ordner dist die kompilierten Dateien vorhanden sind.



3. Installation und Konfiguration von PM2



PM2 ist ein Prozessmanager für Node.js. Es startet die Anwendung bei einem Absturz neu, unterstützt Logs und Clustering.



Installieren wir PM2 global:



npm install pm2 -g


Starten wir die Anwendung:



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


Speichern wir die Prozessliste, damit PM2 sie nach einem Serverneustart wiederherstellt:



pm2 savepm2 startup


PM2 gibt einen Befehl aus, der ausgeführt werden muss (normalerweise systemctl enable pm2-root). Kopieren und führen Sie ihn aus.



Den Status können Sie mit folgendem Befehl überprüfen:



pm2 status


4. Konfiguration von Nginx als Reverse Proxy



Nginx wird Anfragen auf Port 80 (HTTP) entgegennehmen und an Ihre Anwendung weiterleiten (z. B. auf Port 3000).



Erstellen wir eine Konfigurationsdatei:



nano /etc/nginx/sites-available/my-typescript-app


Fügen Sie den folgenden Code ein (ändern Sie server_name auf Ihre Domain oder IP):



server {    listen 80;    server_name ihre_domain.ru www.ihre_domain.ru;

location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}


Aktivieren wir die Seite:



ln -s /etc/nginx/sites-available/my-typescript-app /etc/nginx/sites-enabled/nginx -tsystemctl restart nginx


Jetzt ist Ihre Anwendung über die IP oder Domain erreichbar.



5. Einrichtung von HTTPS (SSL) mit Certbot



Ohne HTTPS geht heutzutage nichts. Wir verwenden Let's Encrypt und Certbot.



Installieren wir Certbot:



apt install certbot python3-certbot-nginx -y


Starten wir die Zertifikatsausstellung:



certbot --nginx -d ihre_domain.ru -d www.ihre_domain.ru
```

Blogs

Buchempfehlungen