IRONSOFTWAREHOME

将应用程序接口部署到 VPS

将 API 部署到 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 还是探索 .NET 服务托管,本指南提供了清晰性、控制力和强大的功能来构建动态且可扩展的 web 应用。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户