部署到 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:定義了一些測試使用者和帖子 Prisma,用於為資料庫填充初始資料。
部署示例
1. 執行 fly launch 並接受預設設定
就這樣。部署完成後,你的 Web 服務將立即在其 fly.dev URL 上線。你可以根據需要選擇擴充套件機器的大小、數量和位置。fly console可用於 SSH 連線到新的或現有機器。
更多資訊可以在fly.io 文件中找到。