ASP.NET Hosting on Your Own VPS
ASP.NET Core on Linux behind NGINX — no Windows licence needed.
Size a server for ASP.NET
Every stop is a real configuration you can deploy. Priced per 30 days, billed by the hour, exclusive of 18% GST.
What ASP.NET is
ASP.NET Core runs on Linux, and has since 2016. That is worth stating plainly because a lot of hosting advice still assumes .NET means Windows Server, and it changes the economics: no Windows licence fee, and the same Linux tooling as everything else on this page.
The deployment shape is its own. Kestrel is the built-in web server, and Microsoft's own guidance is not to expose it directly — it sits behind NGINX, which handles TLS, static files and request buffering. The application runs as a systemd service so it starts at boot and restarts on failure.
The .NET runtime is memory-hungry at idle compared with PHP but efficient under load, and it is genuinely fast — for CPU-bound work it will generally outperform interpreted alternatives on the same hardware. Framework-dependent deployment keeps the published output small; self-contained deployment bundles the runtime, which is larger on disk but removes the dependency on what is installed.
Why run ASP.NET on a VPS
Linux hosting for .NET, so no Windows Server licence is in the price.
Root access for the runtime version and systemd service configuration.
Kestrel behind NGINX, which is what Microsoft recommends rather than a workaround.
SQL Server on Linux, PostgreSQL or MySQL — whichever the application targets.
ASP.NET features
.NET runtime with your chosen version
Kestrel behind NGINX with TLS
systemd service with automatic restart
Framework-dependent or self-contained deployment
PostgreSQL, MySQL or SQL Server on Linux
dotnet CLI over SSH
Recommended server
A starting point for ASP.NET, not a hard floor — size it on the sliders.
| Memory | 4 GB for a typical application; 8 GB with a local database |
|---|---|
| CPU | 2 vCPU; 4 for heavier throughput |
| Storage | 40 GB; self-contained deployments are larger than framework-dependent ones |
| Operating system | Ubuntu 22.04 LTS, which Microsoft supports directly |
How deployment works
The .NET runtime or SDK is installed, the application published and run as a systemd service, with NGINX in front for TLS and static files. Kestrel is bound to localhost only — Microsoft advises against exposing it directly, and that guidance is followed here rather than treated as optional.
What people run it for
ASP.NET Core web applications
MVC or Razor Pages applications on Linux hosting.
Web APIs
Minimal APIs or controllers, where .NET throughput is a genuine advantage.
Blazor Server
Persistent SignalR connections, which need a long-running process.
Moving off Windows hosting
The same application without the licence cost.
ASP.NET hosting questions
Related applications
Deploy ASP.NET on your own server
Root access, your choice of size, and no container between you and the application.