Skip to content
返回部署

使用 Render 部署

云平台,Web 服务、后台 worker、cron 任务和托管 Postgres/Redis。

平台入门

为什么

Render 是 Heroku 替代品,git push 部署、Docker 支持、托管数据库和免费层。git push 自动部署,PR 预览部署。

平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。

何时使用

Web 服务、后台 worker 和从 Heroku 迁移的团队用 Render。边缘/serverless 避免 — 用 Cloudflare/Vercel。

如何做

1. 创建 — render.com → 新建 + → Web 服务 → 连接仓库 2. 构建 — 自动检测或指定构建命令 + 启动命令 3. 环境 — 面板设环境变量 4. 数据库 — 新建 + → PostgreSQL,自动获取内部 DATABASE_URL 5. Worker — 新建 + → 后台 Worker 用于队列/cron 6. 自定义域名 — 设置 → 自定义域名 7. 自动扩缩 — 设置 → 自动扩缩

示例

# render.yaml — 基础设施即代码 services: - type: web name: myapp env: node buildCommand: npm ci && npm run build startCommand: npm start envVars: - key: DATABASE_URL fromDatabase: { name: mydb, property: connectionString } - type: worker name: myworker env: node startCommand: npm run worker databases: - name: mydb plan: starter

常见问题

  • ⚠免费层 15 分钟后休眠 — 首次请求 30s 启动,升级 starter
  • ⚠Worker 静默退出 — Render 期望 worker 永久运行,退出视为崩溃
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓用 render.yaml 做 IaC — 版本控制可复现环境
  • ✓Web 服务和 worker 分离 — 独立扩缩,worker 不需 HTTP 端口
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答