紫薇网站从零搭建:一台游戏本跑起来的实战记录
我是疯子,在深圳做注册会计师,业余折腾本地 AI 和自建工具站。“紫薇网站”是我给一个内部项目起的代号——核心是一个能本地跑、又能公网访问的轻量网站。
这篇不是教科书,是我真在一台游戏本上踩完坑后的流水账。照着做,你也能在一下午内把站搭起来。
一、硬件与前提
我用的机器:
| 项目 | 配置 |
|---|---|
| 机型 | ASUS TUF Gaming A15 2025 |
| CPU | AMD Ryzen AI 7 H 350 |
| 显卡 | NVIDIA GeForce RTX 5060 Laptop(8GB VRAM) |
| 内存 | 32GB LPDDR5 7500MHz |
| 存储 | 1TB + 2TB SSD |
这台机器跑本地大模型、语音克隆都够用,但建站本身不吃显卡——网站是静态资源 + 边缘节点服务,CPU 和带宽才是关键。所以别被”游戏本”吓到,任何近五年的笔记本都能照做。
前置依赖(一次性装好):
- Node.js:建议 22 LTS(我的环境是 22.22.2)。用
node -v验一下。 - Git:任意近版本,用
git -v验。 - 一个 Cloudflare 账号(免费版足够):负责 HTTPS、全球 CDN、自动部署。
- 一个代码托管(GitHub):负责版本管理和触发自动部署。
二、技术选型:为什么用 Astro + Cloudflare Pages
| 方案 | 优点 | 缺点 | 我的结论 |
|---|---|---|---|
| WordPress | 生态成熟、插件多 | 要数据库、要维护 PHP、容易被打 | 过重,放弃 |
| Next.js | 功能强 | 服务端渲染要常驻进程,本地本扛不住公网流量 | 杀鸡用牛刀 |
| Astro | 纯静态、零运行时、构建快、写 Markdown 就行 | 动态交互要额外接 | 选中 |
| Hugo | 更快 | 模板语法反人类 | Astro 对前端更友好 |
关键判断:我的网站是”内容 + 少量展示”,不需要服务端逻辑。Astro 把页面在构建时全部预渲染成 HTML,部署后就是一堆静态文件,Cloudflare 边缘节点直接吐,快且便宜(免费额度够个人用十年)。
三、本地初始化(10 分钟)
# 1. 建项目目录
mkdir ziwei-site && cd ziwei-site
# 2. 初始化 package.json(手动写,避免交互式脚手架卡住)
# 核心依赖就三个:astro 本体 + rss + sitemap
package.json 最小可用版:
{
"name": "ziwei-site",
"type": "module",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview"
},
"dependencies": {
"astro": "^4.16.0",
"@astrojs/rss": "^4.0.7",
"@astrojs/sitemap": "^3.1.6"
}
}
版本坑(必看):
@astrojs/sitemap的新版(3.7.x)依赖 Astro 5 的钩子,在 Astro 4 下会构建崩溃(Cannot read properties of undefined (reading 'reduce'))。锁3.1.6就稳了。这是文档不会写、但你会撞上的第一个坑。
npm install
npm run dev
浏览器开 http://localhost:4321 看到页面,本地就跑起来了。
四、写内容:Markdown 即文章
Astro 的 content collections 让写文章变成纯 Markdown:
---
title: 我的第一篇文章
description: 一句话简介,会进搜索引擎和 RSS
pubDate: 2026-07-27
tags: ["笔记"]
category: tutorials
---
正文用标准 Markdown 写,支持 **加粗**、`代码`、表格、引用等。
丢进 src/content/posts/ 目录,构建时自动生成列表页、详情页、RSS、sitemap。你以后更新网站 = 写 Markdown + 推 Git,不用碰任何构建细节。
五、接公网:Cloudflare Pages 自动部署
这是整套方案最爽的部分——写完 git push,网站自动上线。
1. 把代码推到 GitHub
git init
git add .
git commit -m "init: ziwei site"
git remote add origin https://github.com/你的名/ziwei-site.git
git push -u origin main
2. Cloudflare Pages 接 Git(3 分钟)
- Cloudflare 后台 → Workers & Pages → Create application
- 注意:默认进来是 Worker 创建流(左边大标题 “Create a Worker”)。Pages 的入口在页面最底部小字——“Looking to deploy Pages? Get started”,点它。
- 进 Pages 流 → Connect to Git → 授权 GitHub → 选
ziwei-site仓库 - 配置:
- Framework preset:Astro
- Build command:
npm run build(自动填) - Build output directory:
dist(自动填) - 判别标志:Pages 项目没有 “Deploy command” 这一行;如果看到了,说明又点回 Worker 了,退重来。
- 点 Save and Deploy
约 30 秒后,你会拿到一个 ziwei-site.pages.dev 临时域名,公网直接能开。
3. 自动部署验证
之后任何改动:
git add .
git commit -m "更新:xxx"
git push
Cloudflare 收到 push → 自动 npm install + npm run build + 部署。你本地完全不用再碰 Cloudflare 后台。
六、绑自己的域名
ziwei-site.pages.dev 能用,但你要的是自己的域名(比如 www.mrf.cc.cd)。
- Cloudflare Pages → 项目 → Custom domains → Set up a custom domain
- 输入你的域名(如
www.你的域) - Cloudflare 会告诉你去 DNS 服务商(我是 DNS.he)加一条记录:
- 子域(www):CNAME → 指向
ziwei-site.pages.dev - 根域(不带 www):A 记录 → Cloudflare 会给两个 IP
- 子域(www):CNAME → 指向
- 加完回 Cloudflare 点验证,它会自动签 SSL 证书(5-15 分钟)
两个真实踩坑:
- 域名后缀要对:我一开始把
.cd记成.do,在.do注册局查 NXDOMAIN 查了一下午,最后才发现 DNS.he 后台写的就是.cd。以注册商后台显示的域名为准,别只听口头说。- DNS 服务器(NS)别乱改:保持注册商系统默认即可。改 NS 等于把整个 DNS 托管迁走,是大动作,初期完全不需要。
七、这台机器还能干啥
紫薇网站只是起步。同一台 A15 上我还在跑:
- 语音克隆:RVC + GPT-SoVITS 本地部署,8GB 显存刚好够推理
- PaddleOCR:PDF 批量转文本,32GB 内存跑大文档不慌
- 本地大模型:Ryzen AI 的 NPU 能分担一部分轻量推理
建站吃的是 CPU 和带宽,显卡和内存留给真正的 AI 负载——职责分离,一台机器全包了。
八、总结清单
照做一遍,你应该得到:
- 本地
npm run dev能预览 -
git push自动部署到 Cloudflare Pages -
xxx.pages.dev临时域名可访问 - 自己的域名绑上 + HTTPS 绿锁
- 以后写 Markdown 即更新
整套方案零服务器成本(Cloudflare Pages 免费额度够用)、零运维(push 即上线)、零数据库(纯静态)。对个人项目、技术博客、内部工具站来说,是目前最省心的组合。
下一篇可以写语音克隆的本地部署细节,或者 PaddleOCR 批处理脚本——看你们想先看哪个。