去年到现在,我一个人陆续做了 5 个能公开访问的站点:视频解析、网盘搜索、热榜雷达、在线工具箱,外加一个易经主题的放置小游戏。全部跑在一台服务器上,总成本后面会算。这篇文章把整套架构摊开讲,给同样想"一个人做产品"的朋友一个真实参照。
总览:一台 VPS 撑起所有
┌─ dl.tian.help 视频解析 (Next.js)
├─ pan.tian.help 网盘搜索 (Nuxt)
Nginx (443) ────┼─ hot.tian.help 热榜雷达 (Flask)
统一入口/证书 ├─ tool.tian.help 工具箱 (ThinkPHP)
├─ game.tian.help 游戏 (纯静态单文件)
└─ tian.help 导航站 (FavsHub)
│
wx-gate (FastAPI)
公众号验证码门槛 + 访问统计 + 管理后台
一台阿里云 VPS,一个 Nginx 做统一入口:TLS 证书(certbot)、反代、访问日志(JSON 格式直接落盘,后台增量解析成统计)、以及最关键的一层——公众号验证码门槛(auth_request 到 wx-gate,未验证用户 302 到验证页)。
每个站一个框架,是刻意为之
五个站用了四个技术栈,听起来很乱,其实是每个站按"改造来源"定的:
| 站点 | 技术 | 为什么是它能上生产 |
|---|---|---|
| 视频解析 | Next.js standalone | 开源项目底子,Docker 一把梭 |
| 网盘搜索 | Nuxt SSR | 同上,改品牌 + 补 PWA |
| 热榜雷达 | Flask + APScheduler | Python 爬数据最顺手,定时任务内置 |
| 工具箱 | ThinkPHP | 国产 PHP 工具站生态成熟,后台现成 |
| 游戏站 | 纯前端单文件 | index.html 117KB 内联一切,零依赖零构建 |
核心经验:独立开发者不要重写,要嫁接。 这四个站全是成熟开源项目的二次开发,我的工作量是:换品牌、配域名证书、接验证码门槛、补 PWA、加访问统计。一个人 6 站才有可能。
游戏站是唯一的完全自研。单文件架构是最大亮点:没有构建步骤,改完 FTP 一传就上线;测试用 jsdom + 虚拟时钟跑回归,现在 156 个用例全绿。
wx-gate:所有站共享的验证中台
这是我个人认为整套架构里最值的一个组件。FastAPI 写的单文件服务,干三件事:
- 验证码门槛:
/wx/gate-check给 Nginxauth_request用,验证一次 30 天免验证,四个站共享同一份 cookie 域 - 微信回调:用户在公众号回复「验证码」,微信推送到
/wx/callback,自动下发 6 位码 - 访问统计:解析 Nginx 的 JSON 日志,后台按路径/渠道/游戏来源分布统计,热门路径和来源都做了分页
它本身就是涨粉引擎:用户想用站 → 验证页看到公众号二维码 → 关注 → 拿码 → 进站。整个漏斗不用写一行前端。
PWA 这批活儿
六个站全部支持「添加到手机桌面」:manifest + service worker + iOS 启动图 + 一个可关闭的引导卡片。两个细节值得说:
- service worker 里页面永远走网络、静态资源才缓存——否则缓存的 HTML 会绕过服务端的验证码门槛,这是做门槛站最容易踩的雷
- 微信内置浏览器不支持安装,UA 检测到 MicroMessenger 时引导文案自动切换成「右上角 ··· → 在浏览器打开」
真实成本
- 服务器:1 台 VPS,跑 7 个 Docker 容器 + 2 个静态站,负载常年 <10%
- 域名:8 个
.help/.work域名,首年几块钱一个 - 证书:Let's Encrypt,0 元自动续
- 开发:大头是时间。但注意——代码 80% 是 AI 结对写的。我的角色是架构决策、验收测试和审美把关
给同路人的三条建议
- 先做门槛和统计,再做功能。没有数据你不知道自己哪里在漏人
- 静态优先。能纯前端解决的(我的游戏站),永远不要引入后端
- 让 AI 写代码,你只做选择题。这套架构的 nginx 配置、wx-gate、PWA 引导,全部是 AI 生成我来验收,效率是手写的好几倍
一个人、一台服务器、一堆开源项目、一个 AI 结对伙伴——这就是全部家当。有问题评论区见。
把验证中台、访问统计和 PWA 做成可复用基建,是独立开发者最省力的杠杆;适合想低成本多站运营、以 AI 结对写代码的个人开发者参考。