Was ist auf Ihrem ASP.NET-Server installiert?
- .NET 10 LTS SDK samt ASP.NET-Core-Runtime, aus den Paketen von Ubuntu 24.04
- Ein Razor-Pages-Beispielprojekt: Quellcode in /home/app/uygulama/kaynak, Ausgabe in /home/app/uygulama/yayin
- Ein systemd-Dienst namens uygulama, der als Benutzer app ohne Sonderrechte in Production auf 127.0.0.1:5000 läuft
- Nginx als Reverse-Proxy, mit gesetzten WebSocket-Headern und einem Limit von 64 MB für den Anfragetext
- Ein Let's-Encrypt-Zertifikat von certbot für Ihre sslip.io-Adresse, automatisch erneuert
- 1 GB Swap sowie git
- Nur die Ports 22, 80 und 443 sind nach außen offen, während der Kestrel-Port 5000 intern bleibt
Welche Größe brauchen Sie für ASP.NET?
Microsoft nennt für ASP.NET Core keinen einzelnen RAM-Wert, weil er von Ihrer App abhängt. Als Faustregel ist 1 GB ein Anfang, um eine kleine kompilierte App zu betreiben. Wenn Sie dotnet publish auf dem Server ausführen, sind 2 GB komfortabler, auch mit dem 1 GB Swap, den diese Installation hinzufügt. Für Entity Framework und stärker genutzte Projekte denken Sie an 4 GB. RAM und CPU lassen sich im Panel getrennt vergrößern; der Server startet einmal neu, und Ihre Daten und IP bleiben gleich.
| Einsatz | Größe | Preis | Wählen |
|---|---|---|---|
| Einstieg | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.59/Monat | |
| Mittel | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.02/Monat | |
| Leistungsstark | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.91/Monat |
Für wen ist es gedacht?
- Projekte auf Basis von ASP.NET Core MVC, Razor Pages, Web API oder Blazor Server
- Teams, die .NET unter Linux ohne IIS betreiben möchten
- Pipelines, die mit dotnet publish bauen und das Ergebnis auf ihren eigenen Server ausliefern
- Apps mit Kunden in der Türkei, die von Istanbul aus laufen sollen
Was passiert nach der Bestellung?
- Stellen Sie die Größe ein und schließen Sie Ihre Zahlung ab.
- Ihr Server startet, und .NET und Nginx installieren sich selbst. Das dauerte in unseren Tests auf echten Servern etwa 3,5 Minuten.
- Öffnen Sie auf dem Reiter Übersicht den Link Website-Adresse. Die Razor-Beispielseite erscheint.
- Verbinden Sie sich per SSH, führen Sie su - app aus, holen Sie Ihr Projekt auf den Server und führen Sie dotnet publish -c Release -o ~/uygulama/yayin aus.
- Ersetzen Sie als root in /etc/systemd/system/uygulama.service in der Zeile ExecStart kaynak.dll durch Ihre eigene Datei.
- Führen Sie systemctl daemon-reload und systemctl restart uygulama aus und laden Sie dann die Website neu.
Bei jedem Server
- Tägliche Sicherung im Preis inbegriffen
- Unbegrenzter Datenverkehr
- Voller Root-Zugriff
- RAM und CPU später vergrößern oder verkleinern, die Festplatte erweitern
- Standort: Istanbul · IST-1.
Gut zu wissen
- Ältere .NET-Framework- und Web-Forms-Apps laufen unter Linux nicht. Dieser Server ist für .NET 10 und ASP.NET Core gedacht, solche Projekte müssen also zuerst portiert werden.
- Installiert ist nur .NET 10. Bei einem Projekt mit Ziel net8.0 heben Sie das Ziel an, installieren diese Runtime oder veröffentlichen es als eigenständig (self-contained).
- Kestrel lauscht auf Port 5000. Wenn Sie ihn ändern, passen Sie ASPNETCORE_URLS in der Dienstdatei und die Zeile proxy_pass in Nginx gemeinsam an.
- Es ist keine Datenbank installiert. Tragen Sie Ihren Connection String in den Einstellungen der App oder als Umgebungsvariable in der Dienstdatei ein.
- Microsoft empfiehlt, Data-Protection-Schlüssel in einem dauerhaften Speicher abzulegen, damit Anmelde-Cookies nach einem Neustart gültig bleiben.
- Wenn kein Zertifikat ausgestellt werden kann, öffnet sich die Website über http unter Ihrer IP-Adresse. Updates für .NET und Ihre App liegen in Ihrer Verantwortung.
Fragen und Antworten zu ASP.NET
Wie viel RAM braucht ASP.NET?
Microsoft nennt für ASP.NET Core keinen einzelnen RAM-Wert. Als Faustregel ist 1 GB ein guter Start für eine kleine kompilierte App, 2 GB wenn Sie auf dem Server bauen und 4 GB für stärker genutzte Projekte mit Entity Framework. Reicht es nicht, vergrößern Sie in Ihrem Panel.
Kann ASP.NET auf einem Linux-VPS laufen?
ASP.NET Core kann es. Dieser Server betreibt .NET 10 unter Ubuntu 24.04, mit Ihrer App auf Kestrel und Nginx, das Anfragen an sie weitergibt, IIS ist also nicht nötig. Bei älteren .NET-Framework-Apps sieht es anders aus, denn sie laufen nur unter Windows.
Welche .NET-Version ist auf dem Server?
Das .NET 10 SDK ist installiert, die Runtime kommt mit. Wenn Sie auf eine andere Version zielen, installieren Sie diese Runtime oder veröffentlichen Sie Ihr Projekt als eigenständig (self-contained), sodass es seine eigene Runtime auf den Server mitbringt.
Wie stelle ich meine ASP.NET-App bereit?
Führen Sie als Benutzer app dotnet publish -c Release -o ~/uygulama/yayin aus oder kopieren Sie Ihr Publish-Ergebnis von Ihrem Computer in diesen Ordner. Ändern Sie den DLL-Namen in uygulama.service und führen Sie dann systemctl daemon-reload und systemctl restart uygulama aus.
Läuft meine Web-Forms- oder MVC-5-App?
Nein. Web Forms und MVC 5 brauchen das .NET Framework, das es nur unter Windows gibt. Wählen Sie dafür einen Server mit Windows Server und tragen Sie Ihre eigene Lizenz ein, oder portieren Sie das Projekt nach ASP.NET Core.
Wie verbinde ich meine eigene Domain mit einem ASP.NET-Server?
Richten Sie den A-Record Ihrer Domain auf die IP-Adresse Ihres Servers und führen Sie dann certbot --nginx -d yourdomain.com aus. Das Zertifikat wird ausgestellt und erneuert sich selbst.
Ist SQL Server installiert, und welche Datenbank soll ich nutzen?
Es ist keine Datenbank installiert. Mit Entity Framework können Sie sich mit einem SQL Server auf einer anderen Maschine verbinden oder hier eine Datenbank wie PostgreSQL installieren. Wenn Sie einen separaten Server möchten, bieten wir auch einen mit installiertem PostgreSQL an.