部署到 Fly.io
本指南说明了如何将使用 Prisma ORM 和 PostgreSQL 的 Node.js 服务器部署到 Fly.io。
Prisma Render 部署示例 包含一个带有 REST 端点和简单前端的 Express.js 应用程序。此应用程序使用 Prisma Client 从其数据库中获取、创建和删除记录。本指南将向您展示如何在 Fly.io 上部署相同的应用程序,无需修改。
关于 Fly.io
fly.io 是一个云应用程序平台,开发人员可以轻松部署和扩展完整的堆栈应用程序,这些应用程序从请求开始,靠近用户机器。 对于此示例,了解以下内容很有帮助:
- Fly.io 允许您在全球 35 个区域 中部署长时间运行的“有服务器”的完整堆栈应用程序。 默认情况下,应用程序配置为在不使用时 自动停止,并根据需要在收到请求时自动启动。
- Fly.io 本身支持各种 语言和框架,包括 Node.js 和 Bun。 在本指南中,我们将使用 Node.js 运行时。
- Fly.io 可以直接从 GitHub 启动应用程序。 从 CLI 运行时,
fly launch
将自动配置托管在 GitHub 上的应用程序以在推送时部署。
先决条件
- 注册一个 Fly.io 帐户
获取示例代码
将示例代码下载到您的本地计算机。
curl https://codeload.github.com/prisma/prisma-examples/tar.gz/latest | tar -xz --strip=2 prisma-examples-latest/deployment-platforms/render
cd render
了解示例
在我们部署应用程序之前,让我们看一下示例代码。
Web 应用程序
Express 应用程序的逻辑在两个文件中
src/index.js
:API。 端点使用 Prisma Client 从数据库中获取、创建和删除数据。public/index.html
:Web 前端。 前端调用一些 API 端点。
Prisma schema 和迁移
此应用程序的 Prisma 组件在三个文件中
prisma/schema.prisma
:此应用程序的数据模型。 此示例定义了两个模型,User
和Post
。 此文件的格式遵循 Prisma schema。prisma/migrations/<migration name>/migration.sql
:在 PostgreSQL 数据库中构造此 schema 的 SQL 命令。 您可以通过运行prisma migrate dev
来自动生成像这样的迁移文件。prisma/seed.js
:定义一些测试用户和 postsPrisma,用于使用启动数据 种子化数据库。
部署示例
1. 运行 fly launch
并接受默认值
就是这样。 您的 Web 服务将在部署完成后立即在其 fly.dev
URL 上上线。 (可选)根据需要 缩放 机器的大小、数量和位置。 fly console
可用于 ssh 进入新的或现有的机器。
更多信息可以在 fly.io 文档 中找到。