框架指南
这些指南演示如何从 Git 仓库部署各类典型应用。每篇都给出一个最小应用、Zenavo 识别出的内容、需要的设置,以及我们最常见到的错误。
| 指南 | 涵盖 |
|---|---|
| Next.js | 使用 App Router 或 Pages Router 的 Next.js,next start 或 output: 'standalone' |
| Node.js 与 Express | Express、Fastify、Koa 以及任何 Node.js 服务器 |
| Python | FastAPI、Django 和 Flask |
| Go | net/http、Gin、Echo、Fiber 以及任何 Go 服务器 |
| Laravel | 基于 PHP-FPM 和 nginx 的 Laravel,包括数据库迁移和 Vite |
| Spring Boot | 使用 Maven 或 Gradle 的 Spring Boot |
| 静态网站 | 纯 HTML 和构建产物:Vite、React、Vue、Astro、Hugo 的输出 |
所有指南都假设你已经有一台服务器和一个项目:见快速开始。
共同要点
- 没有 Dockerfile 时,由 zbpack 构建应用。 部署前在 构建计划预览 中检查它识别出的内容。如果根目录中有
Dockerfile,则直接使用它。 - 监听
0.0.0.0和$PORT。 Zenavo 把PORT设为服务的端口,zbpack 构建时是 8080。只监听localhost或127.0.0.1的服务器无法被访问,部署永远不会变为健康。 - 配置来自变量。 在服务的 变量 标签页中设置;数据库的连接信息以
<NAME>_CONNECTION_STRING等变量提供(数据库)。变量在下次部署时生效。 - 文件系统不会保留,部署和重启后都会重置。上传文件和其他需要保留的文件请放在数据卷中,或者放在数据库或对象存储中。
- Monorepo 把服务的 根目录 设为应用所在的文件夹,并设置监听路径,只在它有改动时构建。