Zum Fußzeileninhalt springen
Iron Academy Logo
C#-Anwendung
C#-Anwendung

Andere Kategorien

Bereitstellen der API auf einem VPS

Tim Corey
23m 24s

Das Deployment einer Webanwendung ist ein Meilenstein auf dem Weg eines jeden .NET-Entwicklers. Egal, ob Sie mit ASP.NET Core, .NET Framework oder anderen Arten von dynamischen Websites arbeiten, die Bereitstellung Ihrer Anwendung auf einem Virtual Private Server (VPS) gibt Ihnen die volle Kontrolle über die Hosting-Umgebung, Sicherheit und Skalierbarkeit.

In dieser detaillierten Anleitung wird untersucht, wie eine minimale C#-API auf einem VPS bereitgestellt werden kann, wobei Erkenntnisse aus Tim Coreys Tutorial "Bereitstellung der API auf einem VPS" verwendet werden Von der Domainregistrierung bis zu SSL-Zertifikaten und der Veröffentlichung über Visual Studio deckt Tim alles ab. Wenn Sie sich für VPS-Lösungen oder .NET Core-Hosting-Optionen interessieren, ist dieser Leitfaden Ihr Einstieg in die praktische Umsetzung.

Warum eine Beispiel-API in der Webentwicklung verwenden?

Zu Beginn erklärt Tim, wie wichtig es ist, eine Beispiel-API zu haben. Sie ist ein wichtiges Testfeld für die Erstellung von Frontend-Anwendungen mit Technologien wie HTML, JavaScript oder sogar Blazor. Sie erhalten die komplette Webentwicklungserfahrung - von der Backend-Logik bis zum Hosting und der Bereitstellung.

Domain-Strategie: Kaufen Sie sie nur, wenn Sie bereit sind

Tim betont einen wichtigen Grundsatz: Kaufen Sie nicht sofort einen Domainnamen, wenn Sie eine neue App-Idee haben. Viele angehende Entwickler geben zu viel Geld für Domains, Hosting-Pakete und Funktionen wie E-Mail-Server aus, ohne einen funktionierenden Prototyp zu haben.

Konzentrieren Sie sich stattdessen zunächst auf Ihre Programmiersprachen, Datenmodelle und API-Logik. Sobald das Projekt ausgereift ist, ist es an der Zeit, sich eine Domain und ein Hosting-Konto zuzulegen. Für dieses Tutorial hat Tim jedoch thesampleapi.com über Namecheap gekauft - ein zuverlässiger Hosting-Anbieter, den er empfiehlt.

Auswahl eines VPS-Hosting-Anbieters

Tim verwendet InterServer für dieses Projekt - ein VPS-Hosting-Anbieter, dem er für leistungsstarke und kostengünstige virtuelle private Server vertraut. Während er normalerweise Azure verwendet (insbesondere für Microsoft SQL Server oder Implementierungen im Unternehmensmaßstab), entscheidet sich Tim hier für InterServer, um die Flexibilität zu demonstrieren.

Er erwähnt die Vorteile von VPS-Hosting-Angeboten:

  • Mehr Kontrolle als bei Shared-Hosting-Angeboten

  • Bessere Leistung für dynamische Websites

  • SSD-Speicher und skalierbarer Festplattenspeicher

  • Optionaler DDoS-Schutz und voller Zugriff auf das Betriebssystem

Für Entwickler, die Linux VPS- und Windows Server-Hosting-Optionen vergleichen, zeigt Tims Anwendungsfall, wie man mit beiden Umgebungen arbeitet, obwohl dieses Beispiel einen Windows-basierten VPS verwendet.

Webhosting-Einrichtung mit Plesk Control Panel

Tim führt durch die Einrichtung seines Hosting-Dienstes über das Plesk Control Panel. VPS-Lösungen gewähren in der Regel Root-Zugang oder Zugang zum Control Panel, um Ihren Webserver zu konfigurieren. Er richtet die Domäne thesampleapi.com ein und konfiguriert ein einfaches Webhosting.

Dieser Schritt umfasst:

  • Aktivieren von DNS-Hosting

  • Erstellung des Hosting-Verzeichnisses

  • Verstehen der Struktur von Shared vs. Dedicated Server auf VPS

Tim merkt an, dass VPS-Benutzer oft mehrere Domains unter einer Serverinstanz hosten. Das ist der Vorteil von VPS gegenüber einfachem Shared-Windows-Hosting - es passt sich Ihren Bedürfnissen an und kann hohen Datenverkehr effizient bewältigen.

DNS-Einstellungen über Namecheap aktualisieren

Um die Domain mit dem Hosting-Provider zu verbinden, aktualisiert Tim die Nameserver-Einträge (NS) auf Namecheap, um auf den DNS von InterServer zu verweisen. Dadurch kann die Domain auf die IP-Adresse des VPS aufgelöst werden.

Tim sagt, dass dies bis zu 48 Stunden dauern kann, aber seiner Erfahrung nach ist es oft in 15 Minuten oder weniger erledigt - ein Bonus for .NET-Entwickler, die ihre Arbeit gerne live sehen möchten.

Installation eines SSL-Zertifikats

Sicherheit ist in modernen Webanwendungen nicht verhandelbar. Tim richtet ein SSL-Zertifikat mit Let's Encrypt ein, das kostenlose Website-Verschlüsselung bietet. Er verwendet ein Wildcard-SSL-Zertifikat, damit auch Subdomains wie www.thesampleapi.com und api.thesampleapi.com gesichert sind.

Dies ist ein wichtiger Schritt, insbesondere für ASP.NET Core APIs, die mit sensiblen Daten umgehen. SSL-Zertifikate verschlüsseln die Kommunikation zwischen Clients und Webserver, ein Muss für leistungsstarke, sichere Websites.

Publizieren mit Visual Studio

Als Nächstes demonstriert Tim, wie man die ASP.NET Core API von Visual Studio aus veröffentlicht:

  1. Rechtsklick auf das Projekt → Veröffentlichen

  2. Wählen Sie Folder als Ziel

  3. Freigabemodus auswählen

  4. Setzen Sie den Bereitstellungstyp auf Framework-abhängig (für Umgebungen mit den entsprechenden vorinstallierten .NET-Versionen)

Bei der Bereitstellung in einer Linux-Hosting-Umgebung ohne installiertes .NET schlägt Tim vor, zu einer eigenständigen Bereitstellung zu wechseln. Dies bündelt die erforderliche .NET Core-Laufzeitumgebung und gewährleistet die Kompatibilität auf Remote-Servern.

Die Veröffentlichung erzeugt eine Reihe von Dateien, die direkt zu Ihrem Hosting-Anbieter hochgeladen werden können.

Hochladen von Dateien auf den Webserver

Tim verwendet den Dateimanager im Bedienfeld, um Standarddateien zu löschen und den veröffentlichten Ordner hochzuladen. Er zieht den Inhalt direkt von seinem Rechner in das VPS-Dateisystem. Nach dem Hochladen wird beim Aufrufen der Domain-URL eine einfache "Hello World"-Meldung angezeigt, die darauf hinweist, dass die App aktiv ist.

Für fortgeschrittene Benutzer empfiehlt er, die Bereitstellung mit GitHub Actions oder webdev zu automatisieren, je nach den Möglichkeiten Ihres Hosting-Dienstes.

Testen der API-Endpunkte

Tim navigiert dann zu /courses, einer definierten Route in seiner C#-API. Sie gibt JSON-Daten zurück und beweist, dass die ASP.NET Core-Anwendung korrekt funktioniert. Dadurch wird auch bestätigt, dass die Backend-Logik, das Routing und die Middleware auf dem Webserver richtig gehandhabt werden.

Behebung der Probleme mit der Swagger-Benutzeroberfläche (Scaler/V1)

Ein häufiges Problem, mit dem viele .NET-Entwickler konfrontiert sind, ist, dass Swagger UI (das für die API-Dokumentation verwendet wird) nur im Entwicklungsmodus funktioniert. Tim stellt fest, dass die Konfigurationsdatei im Projekt Swagger in der Produktion deaktiviert.

Er aktualisiert das OpenAPI-Setup in der Konfigurationsdatei, um es auch in Produktionsumgebungen verfügbar zu machen, was für das Debugging und Testen in Live-Umgebungen unerlässlich ist.

Weiterleitung der Wurzel zu Swagger UI

Anstatt "Hello World" auf der Startseite anzuzeigen, fügt Tim eine Weiterleitung in den Root-Endpunkt der API ein. Wenn Sie jetzt https://thesampleapi.com besuchen, werden Sie automatisch zur Swagger-Dokumentation unter /scaler/v1 weitergeleitet. Diese kleine Änderung verbessert die Benutzerfreundlichkeit und hilft Entwicklern, schnell auf API-Spezifikationen zuzugreifen.

Nach Aktualisierungen erneut bereitstellen

Um die neuen Änderungen widerzuspiegeln, wiederholt Tim den Prozess des Veröffentlichens und Hochladens. Er löscht das VPS-Dateiverzeichnis und lädt das neue Build erneut hoch. Er erklärt, dass diese Methode zwar zu einer kurzen Ausfallzeit führt, aber während der Entwicklungsphase akzeptabel ist.

Für Produktionsanwendungen mit hohem Datenverkehr empfiehlt Tim die Verwendung eines Staging-Slots - eine Funktion, die in fortgeschritteneren Hosting-Angeboten oder Plattformen wie Azure zu finden ist. Dies ermöglicht eine nahtlose Bereitstellung ohne Ausfallzeiten.

Abschließende Verifizierung und API-Tests

Tim bestätigt, dass die aktualisierte API bereitgestellt wurde:

  • SSL-Zertifikat ist aktiv

  • Endpunkte geben korrekte Daten zurück

  • Swagger UI ist zugänglich unter /scaler/v1

Der Einsatz ist ein Erfolg. Entwickler können nun von jedem beliebigen Frontend aus gegen diese Live-API testen - sei es Angular, React, Blazor oder sogar Desktop-Anwendungen wie WPF und WinForms.

Was kommt als nächstes?

Abschließend ermutigt Tim die Entwickler, die Verwendung der Beispiel-API mit verschiedenen Frontends zu erkunden. Ganz gleich, ob Sie dynamische Websites erstellen, Integrationen testen oder mit klassischem ASP oder Visual Basic experimentieren, diese eingesetzte API ist ein großer Gewinn.

Sie können auf die Live-API zugreifen unter:

Zusammenfassung

Die Bereitstellung einer API auf einem VPS ist eine wertvolle Lernerfahrung für jeden Entwickler, der mit .NET Core, .NET Framework oder Webanwendungen im Allgemeinen arbeitet. Das Video von Tim Corey veranschaulicht den gesamten Weg von der Einrichtung der Domain bis zur endgültigen Bereitstellung und bietet praktische Tipps und bewährte Verfahren.

Wenn Sie einen Wechsel zu VPS-Hosting-Plänen in Erwägung ziehen, versteckte Gebühren von traditionellen Webhosting-Unternehmen vermeiden wollen oder mit Shared Hosting experimentieren möchten, bringt Sie dieses Tutorial auf den richtigen Weg.

Ganz gleich, ob Sie Ihre erste API einführen oder das Hosting von Dotnet-Diensten erkunden möchten, dieses Handbuch bietet Klarheit, Kontrolle und leistungsstarke Funktionen für die Entwicklung dynamischer und skalierbarer Webanwendungen.

Hero Worlddot related to Bereitstellen der API auf einem VPS
Hero Affiliate related to Bereitstellen der API auf einem VPS

Verdienen Sie mehr, indem Sie teilen, was Sie lieben

Erstellen Sie Inhalte für Entwickler, die mit .NET, C#, Java, Python oder Node.js arbeiten? Verwandeln Sie Ihr Fachwissen in ein zusätzliches Einkommen!

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an