Render PaaS 云部署平台¶
一句话概述:Render 是 Heroku 的现代替代品,支持 Web 服务、静态站点、后台任务、Cron 定时任务、PostgreSQL 数据库和 Redis,GitHub 推送自动部署,免费套餐够个人项目用。
核心知识点¶
| 概念 | 白话解释 |
|---|---|
| Web Service | 持续运行的 Web 应用(API 服务器、Web 应用) |
| Static Site | 静态网站托管(React/Vue 构建产物) |
| Background Worker | 后台任务处理(队列消费者) |
| Cron Job | 定时任务 |
| Blueprint | 基础设施即代码,用 YAML 定义所有服务 |
安装配置¶
# Render 主要通过网页操作,也有 CLI
# https://render.com → New → Web Service → Connect GitHub
# 或用 Blueprint(render.yaml)
# render.yaml - Blueprint 配置
services:
- type: web # Web 服务
name: my-api
runtime: node # 运行时:node/python/docker
buildCommand: npm install && npm run build # 构建命令
startCommand: npm start # 启动命令
envVars:
- key: NODE_ENV
value: production
- key: DATABASE_URL
fromDatabase:
name: my-db
property: connectionString # 从数据库服务取连接串
- type: pserv # 私有服务(不暴露公网)
name: worker
runtime: node
buildCommand: npm install
startCommand: npm run worker
databases:
- name: my-db
plan: free # 免费版 PostgreSQL
基本使用¶
部署 Node.js 应用¶
1. 网页 → Dashboard → New → Web Service
2. 连接 GitHub 仓库
3. 配置:
- Name: my-app
- Runtime: Node
- Build Command: npm install
- Start Command: npm start
4. 点击 Create Web Service
5. 等待构建部署完成
6. 访问分配的 .onrender.com 域名
数据库¶
环境变量和密钥¶
常见报错¶
| 报错信息 | 原因 | 解决方案 |
|---|---|---|
Build failed | 构建命令出错 | 检查 buildCommand 和依赖 |
| 应用启动后立即停止 | 没监听正确端口 | 使用 process.env.PORT |
| 免费版休眠 | 15 分钟无请求自动休眠 | 升级付费版或用健康检查保活 |
| 数据库 90 天删除 | 免费版限制 | 备份数据或升级 |
速查表¶
# 支持的服务类型
Web Service # Web 应用/API($0-$85/月)
Static Site # 静态站点(免费)
Private Service # 内部服务
Background Worker # 后台任务
Cron Job # 定时任务
PostgreSQL # 数据库
Redis # 缓存
# 免费版限制
# Web Service: 每月 750 小时,15分钟无请求休眠
# Static: 100GB 带宽/月
# PostgreSQL: 256MB,90天有效
# 自动部署:支持
# 付费版起步
# Web Service: $7/月(Starter)
# PostgreSQL: $7/月(256MB → 不会过期)
参考:Render 官网 | Render 文档 | Blueprint 说明