紫薇网站从零搭建:一台游戏本跑起来的实战记录

教程建站本地部署Cloudflare

我是疯子,在深圳做注册会计师,业余折腾本地 AI 和自建工具站。“紫薇网站”是我给一个内部项目起的代号——核心是一个能本地跑、又能公网访问的轻量网站。

这篇不是教科书,是我真在一台游戏本上踩完坑后的流水账。照着做,你也能在一下午内把站搭起来。

一、硬件与前提

我用的机器:

项目配置
机型ASUS TUF Gaming A15 2025
CPUAMD 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 分钟)

  1. Cloudflare 后台 → Workers & PagesCreate application
  2. 注意:默认进来是 Worker 创建流(左边大标题 “Create a Worker”)。Pages 的入口在页面最底部小字——“Looking to deploy Pages? Get started”,点它。
  3. 进 Pages 流 → Connect to Git → 授权 GitHub → 选 ziwei-site 仓库
  4. 配置:
    • Framework preset:Astro
    • Build command:npm run build(自动填)
    • Build output directory:dist(自动填)
    • 判别标志:Pages 项目没有 “Deploy command” 这一行;如果看到了,说明又点回 Worker 了,退重来。
  5. 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)。

  1. Cloudflare Pages → 项目 → Custom domainsSet up a custom domain
  2. 输入你的域名(如 www.你的域
  3. Cloudflare 会告诉你去 DNS 服务商(我是 DNS.he)加一条记录:
    • 子域(www):CNAME → 指向 ziwei-site.pages.dev
    • 根域(不带 www):A 记录 → Cloudflare 会给两个 IP
  4. 加完回 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 批处理脚本——看你们想先看哪个。