跳至页脚内容
Iron Academy Logo
C# 应用程序
C# 应用程序

其他类别

将应用程序接口部署到 VPS

Tim Corey
23分24秒

部署网络应用程序是所有 .NET 开发人员工作历程中的一个里程碑。 无论您是使用 ASP.NET Core、.NET Framework 还是开发其他类型的动态网站,将应用程序部署到虚拟专用服务器 (VPS) 上都可以让您完全控制托管环境、安全性和可扩展性。

在本详细攻略中,我们将利用 Tim Corey 的教程"将 API 部署到 VPS" 中的见解,探讨如何将一个最小的 C# API 部署到 VPS 上。从域名注册到 SSL 证书,再到通过 Visual Studio 发布,Tim 涵盖了一切。 如果您正在探索 VPS 解决方案或 .NET Core 托管选项,本指南就是您进行实际部署的入口。

为什么要在 Web 开发中使用示例 API?

首先,Tim 解释了拥有示例 API 的价值。 在使用 HTML、JavaScript 甚至 Blazor 等技术构建前端应用程序时,这是一个重要的试验场。 您将获得完整的网络开发体验--从后台逻辑到托管和部署。

域名策略:准备就绪后再购买

蒂姆强调了一个关键原则--不要一有新的应用程序创意就急于购买域名。 许多有抱负的开发人员在域名、主机套餐和电子邮件服务器等功能上花费过多,却没有一个可用的原型。

相反,应首先关注编程语言、数据模型和 API 逻辑。一旦项目成熟,就可以使用域名和主机账户了。 不过,在本教程中,Tim 通过 Namecheap 预先购买了thesampleapi.com--这是他推荐的一家可靠的托管服务提供商。

选择 VPS 托管提供商

Tim 在这个项目中使用了 InterServer--他信赖的 VPS 托管提供商,可以提供高性能、低成本的虚拟专用服务器。 虽然他通常使用 Azure(尤其是 Microsoft SQL Server 或企业级部署),但 Tim 在这里选择了 InterServer 来展示灵活性。

他提到了 VPS 托管计划的好处:

  • 比共享主机计划更具控制性

  • 提高动态网站的性能

  • 固态硬盘存储和可扩展磁盘空间

  • 可选的 DDoS 保护和操作系统完全访问权限

对于比较 Linux VPS 和 Windows Server 托管选项的开发人员,Tim 的使用案例展示了如何在两种环境中工作,不过本例使用的是基于 Windows 的 VPS。

使用 Plesk 控制面板设置虚拟主机

Tim 演示如何通过 Plesk 控制面板设置主机服务。 VPS 解决方案通常授予 root 访问权限或控制面板访问权限,以配置您的网络服务器。 他设置了thesampleapi.com域名,并配置了基本的虚拟主机。

这一步骤包括

  • 激活 DNS 托管

  • 创建托管目录

  • 了解 VPS 的共享与专用服务器结构

Tim 指出,VPS 用户通常在一个服务器实例下托管多个域。 这就是 VPS 相对于基本共享 Windows 主机的优势所在--它可以根据您的需求进行扩展,并能高效处理高流量。

通过 Namecheap 更新 DNS 设置

为了将域名连接到托管提供商,Tim 更新了 Namecheap 上的名称服务器 (NS) 记录,使其指向 InterServer 的 DNS。 这样就可以将域名解析到 VPS IP 地址。

Tim 说,这可能需要长达 48 小时的时间,但根据他的经验,通常在 15 分钟或更短的时间内就能完成--这对于渴望看到自己作品上线的 .NET 开发人员来说是个好消息。

安装 SSL 证书

在现代网络应用程序中,安全性是不容忽视的。 Tim 使用 Let's Encrypt 设置了 SSL 证书,该证书提供免费的网站加密服务。 他使用了通配符 SSL 证书,这样 www.thesampleapi.com 和 api.thesampleapi.com 等子域也会受到保护。

这是关键的一步,尤其是对于处理敏感数据的 ASP.NET Core API。 SSL 证书可加密客户端与网络服务器之间的通信,是高性能安全网站的必备工具。

使用 Visual Studio 发布

接下来,Tim 演示了如何从 Visual Studio 发布 ASP.NET Core API:

1.右键单击项目 → 发布

2.选择文件夹作为目标

3.选择发布模式

4.将部署类型设置为 "依赖于 Framework"(适用于预装了相应 .NET 版本的环境)

如果部署到未安装 .NET 的 Linux 托管环境中,Tim 建议改用独立部署。 这将捆绑所需的 .NET Core 运行时,确保在远程服务器上的兼容性。

发布会生成一组文件,可直接上传到您的托管服务提供商。

将文件上传到网络服务器

Tim 使用控制面板中的文件管理器删除默认文件并上传发布的文件夹。 他将内容直接从自己的机器拖入 VPS 文件系统。 上传后,点击域名 URL 会返回一个基本的 "Hello World "信息,表明应用程序已上线。

对于更高级的用户,他建议使用 GitHub Actions 或 webdev 自动部署,具体取决于您的托管服务功能。

测试 API 端点

然后,蒂姆导航到 /courses,这是他的 C# API 中定义的路径。 它返回 JSON 数据,证明 ASP.NET Core 应用程序工作正常。 此外,还要确认后端逻辑、路由和中间件在网络服务器上得到了正确处理。

修复 Swagger UI(Scaler/V1)

许多 .NET 开发人员面临的一个共同问题是,Swagger UI(用于 API 文档)只能在开发模式下工作。 Tim 发现项目中的配置文件在生产中禁用了 Swagger。

他更新了配置文件中的 OpenAPI 设置,使其在生产环境中也能使用--这对于在实时环境中进行调试和测试至关重要。

将根指向 Swagger UI.

Tim 没有在主页上显示 "Hello World",而是在 API 的根端点添加了一个重定向。 现在,访问 https://thesampleapi.com 会自动将用户重定向到 /scaler/v1 的 Swagger 文档。这一小小的改动提高了可用性,帮助开发人员快速访问 API 规范。

更新后重新部署

为了反映新的改动,Tim 重复了发布-上传流程。 他清除了 VPS 文件目录,并重新上传了新的构建。 他解释说,虽然这种方法会导致短暂的停机,但在开发阶段是可以接受的。

对于高流量的生产应用程序,Tim 建议使用暂存槽--更高级的托管计划或 Azure 等平台都具有这一功能。 这样才能在不停机的情况下实现无缝部署。

最终验证和 API 测试

随着更新的应用程序接口的部署,蒂姆确认

  • SSL 证书已激活

  • 终端返回正确的数据

  • 可在 /scaler/v1 访问 Swagger UI

部署成功。 开发人员现在可以从任何前端(无论是 Angular、React、Blazor,甚至是 WPF 和 WinForms 等桌面应用程序)针对此实时 API 进行测试。

下一步是什么?

最后,Tim 鼓励开发人员探索使用不同前端的示例 API。 无论您是在构建动态网站、测试集成,还是在尝试使用经典的 ASP 或 Visual Basic,这个已部署的 API 都是您的宝贵财富。

您可以通过以下网址访问实时 API:

摘要

对于任何使用 .NET Core、.NET Framework 或一般网络应用程序的开发人员来说,将 API 部署到 VPS 都是一次宝贵的学习经历。 Tim Corey 的 视频展示了从域设置到最终部署的整个过程,并提供了实用技巧和最佳实践。

如果您正在考虑转用 VPS 托管计划,需要避免传统虚拟主机公司的隐藏费用,或者想尝试共享托管以外的其他服务,本教程将为您提供正确的途径。

无论您是推出第一个 API 还是探索 dotnet 服务托管,本指南都能为您提供清晰、可控和强大的功能,帮助您构建动态和可扩展的网络应用程序。

Hero Worlddot related to 将应用程序接口部署到 VPS
Hero Affiliate related to 将应用程序接口部署到 VPS

分享您的所爱,赚取更多收入

您为使用 .NET、C#、Java、Python 或 Node.js 的开发人员创建内容吗?将您的专业知识转化为额外收入!

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我