静态网站解决了「展示」,一旦要存用户、存订阅邮箱、存爬虫数据,就需要后端。好消息是三大托管后端的免费档足够 OPC 跑到第一笔收入。
免费数据库三剑客
| 服务 | 底层 | 免费档亮点 | 适合场景 |
|---|---|---|---|
| Supabase | PostgreSQL | 500MB 数据库、5 万月活登录、1GB 存储、自带 Auth/实时订阅/存储 | 关系型业务数据、首选 |
| Firebase | Firestore NoSQL | 1GB 存储、文档型、Google 生态、鉴权开箱即用 | 小程序/移动端、弱结构数据 |
| PlanetScale | MySQL Vitess | 免费小规格实例、分支数据库(branching) | 习惯 MySQL、要做数据库分支 |
各家免费政策会不定期调整,注册前以官网 Pricing 页当前条款为准,别照搬过时教程里的额度数字。
新手推荐路线:Supabase
- 用 GitHub 账号登录 Supabase,新建一个 Project,区域选离用户近的(面向欧美选
us-east-1或eu-central-1); - 在 Table Editor 建第一张表,例如
subscribers(邮箱、来源、创建时间); - 在 Project Settings → API 拿到两个密钥:
anon公钥:可以暴露给前端,但必须配合 RLS(行级安全)策略;service_role私钥:只能放在环境变量里,绝不能进前端代码或公开仓库;
- 默认开启 RLS,没写策略的表外部一律不可读写——这是免费帮你兜底的安全网,不要嫌麻烦关掉。
跑通数据库后,Cloudflare Pages 的环境变量在项目设置 → Settings → Environment variables 里配置,本地开发则放在
.env(已被.gitignore忽略),两边互不污染。
GitHub Actions:不会后端也能写「定时任务」
GitHub Actions 是按月赠送免费执行时长的自动化引擎:push 代码自动部署、定时抓数据、定时检查网站存活,统统能干。
在仓库新建 .github/workflows/health-check.yml:
name: health-check
on:
schedule:
- cron: '0 */6 * * *' # 每 6 小时一次
workflow_dispatch: # 允许手动点按钮运行
jobs:
ping:
runs-on: ubuntu-latest
steps:
- name: 检查首页是否在线
run: |
STATUS=$(curl -s -o /dev/null -w "%{http_code}" https://你的域名/)
echo "HTTP $STATUS"
test "$STATUS" = "200"
提交后到仓库 Actions 标签页,既能看到定时运行记录,也能点 Run workflow 手动触发。失败的执行默认会发邮件通知你。
OPC 常见的三个自动化套路
- 内容自动发布:配合 Notion(二期教程)用
repository_dispatch事件触发 Cloudflare Pages 重新构建,写完勾选「发布」即上线; - 定时数据同步:cron 触发脚本拉汇率、抓榜单、备份 Supabase 数据,结果提交回仓库或写入数据库;
- 部署流水线:推送 → 安装依赖 → 构建 → 产物丢给 CF Pages,分支合并即发布,全程不碰服务器。
两条安全红线
- 任何
*_KEY、*_TOKEN一律走 GitHub Secrets(Settings → Secrets and variables → Actions),日志里也不要echo出来; - 免费额度要设预算意识:在 Supabase/Firebase 后台设置用量告警邮箱,防止死循环脚本一夜烧光配额。
把这篇和 Cloudflare Pages 部署教程 一起做完,你就拥有了一个零成本的「服务器 + 数据库 + 定时器」组合——传统创业这套配置每月至少几百元。..
