返回

ASP.NET VPS 主机,预装

这个 ASP.NET 主机方案是一台 Linux VPS,已安装 .NET 10 SDK、一个 ASP.NET Core 示例应用和 Nginx。下单后安装会自动完成,示例 Razor 页面会在您的 HTTPS 地址上打开,该地址会显示在您的面板中。用 dotnet publish 把您自己的项目发布到 /home/app/uygulama/yayin,并通过 uygulama 服务运行。

您需要多大算力?

合计$2.58/月

价格含增值税。

RAM 和 CPU 可随时升级或降配。磁盘只能增大,建议从小配置开始。

您的 ASP.NET 服务器上安装什么?

  • .NET 10 LTS SDK,包含 ASP.NET Core 运行时,来自 Ubuntu 24.04 软件包
  • 一个 Razor Pages 示例项目。源代码所在的文件夹是 /home/app/uygulama/kaynak,编译输出所在的文件夹是 /home/app/uygulama/yayin
  • 一个名为 uygulama 的 systemd 服务,以无特权的 app 用户身份在 Production 环境下运行于 127.0.0.1:5000
  • Nginx 作为反向代理,已设置 WebSocket 头,请求体上限为 64 MB
  • 由 certbot 为您的 sslip.io 地址获取的 Let's Encrypt 证书,自动续期
  • 1 GB 交换空间,外加 git
  • 只有 22、80 和 443 端口对外开放,Kestrel 的 5000 端口仅限内部

ASP.NET 需要多大的配置?

微软没有给出 ASP.NET Core 的统一 RAM 数值,因为这取决于您的应用。经验上:运行一个小型已编译应用,1 GB 是个起点。如果要在服务器上运行 dotnet publish,即使有本安装添加的 1 GB 交换空间,2 GB 也更宽裕。对于 Entity Framework 和较繁忙的项目,可以考虑 4 GB。RAM 和 CPU 可以在面板中分别增加;服务器会重启一次,数据和 IP 保持不变。

用途配置价格选择
入门 1 GB RAM · 1 vCore · 25 GB NVMe $2.58/月
中等 2 GB RAM · 1 vCore · 40 GB NVMe $4.01/月
强劲 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/月

适合谁?

  • 使用 ASP.NET Core 的 MVC、Razor Pages、Web API 或 Blazor Server 技术构建的各类项目
  • 想在 Linux 上运行 .NET、不使用 IIS 的团队
  • 用 dotnet publish 构建并把产物发送到自己服务器的流水线
  • 客户在土耳其、希望应用从伊斯坦布尔运行的应用

下单之后会发生什么?

  1. 设定配置并完成付款。
  2. 您的服务器启动,.NET 和 Nginx 自动安装。在我们的真机测试中,这大约用了 3.5 分钟。
  3. 在“概览”标签页上打开“网站地址”链接,示例 Razor 页面就会出现。
  4. 通过 SSH 连接,运行 su - app,带入您的项目,然后运行 dotnet publish -c Release -o ~/uygulama/yayin。
  5. 以 root 身份,在 /etc/systemd/system/uygulama.service 中,把 ExecStart 一行里的 kaynak.dll 换成您自己的文件。
  6. 依次运行 systemctl daemon-reload 和 systemctl restart uygulama 这两条命令,然后刷新网站。

每台服务器都包含

  • 价格含每日备份
  • 不限流量
  • 完整 root 权限
  • 之后可升级或降配 RAM 和 CPU,并扩大磁盘
  • 位置:Istanbul · IST-1。

须知

  • 较旧的 .NET Framework 和 Web Forms 应用无法在 Linux 上运行。这台服务器面向 .NET 10 和 ASP.NET Core,所以这类项目需要先移植。
  • 只安装了 .NET 10。对于目标为 net8.0 的项目,请提高目标版本、安装对应的运行时,或以自包含方式发布。
  • Kestrel 监听 5000 端口。如果您修改它,请同时更新服务文件中的 ASPNETCORE_URLS 和 Nginx 中的 proxy_pass 一行。
  • 没有安装数据库。请把连接字符串放在应用的设置中,或作为环境变量放在服务文件里。
  • 微软要求把数据保护密钥保存在持久存储中,这样重启后登录 Cookie 依然有效。
  • 如果证书无法签发,网站会通过 http 在您的 IP 地址上打开。.NET 和您应用的更新由您自己负责。

ASP.NET 常见问题

ASP.NET 需要多少 RAM?

微软没有给出 ASP.NET Core 的统一 RAM 数值。经验上:小型已编译应用以 1 GB 起步为宜,在服务器上编译用 2 GB,带 Entity Framework 的较繁忙项目用 4 GB。如果不够,可以在面板中升级。

ASP.NET 能在 Linux VPS 上运行吗?

ASP.NET Core 可以。这台服务器在 Ubuntu 24.04 上运行 .NET 10,您的应用跑在 Kestrel 上,由 Nginx 把请求转交给它,所以不需要 IIS。较旧的 .NET Framework 应用则另当别论,因为它们只能在 Windows 上运行。

服务器上是哪个 .NET 版本?

已安装 .NET 10 SDK,运行时随之附带。如果您的目标是其他版本,请安装对应的运行时,或把项目以自包含方式发布,这样它会自带运行时到服务器上。

如何部署我的 ASP.NET 应用?

以 app 用户身份运行 dotnet publish -c Release -o ~/uygulama/yayin,或把发布产物从您的电脑复制到该文件夹。修改 uygulama.service 中的 dll 名称,然后运行 systemctl daemon-reload 和 systemctl restart uygulama。

我的 Web Forms 或 MVC 5 应用能运行吗?

不能。Web Forms 和 MVC 5 需要 .NET Framework,而它只存在于 Windows 上。对于这类应用,请选择 Windows Server 的服务器并输入您自己的许可证,或把项目移植到 ASP.NET Core。

如何把我自己的域名绑定到 ASP.NET 服务器?

把域名的 A 记录指向服务器的 IP 地址,然后运行 certbot --nginx -d yourdomain.com。证书会自动签发并自动续期。

安装了 SQL Server 吗?该用哪个数据库?

没有安装数据库。使用 Entity Framework 时,您可以连接到另一台机器上的 SQL Server,或在这里安装 PostgreSQL 之类的数据库。如果您想要一台单独的服务器,我们也提供预装 PostgreSQL 的服务器。

了解更多,查看类似应用