← 回到学习笔记
· 1985 字

从零搭建个人网站:选型、部署与内容管理实战

从网站类型选择、域名服务器准备,到静态站点部署、内容同步与日常维护的一次完整实践。

搭建个人网站,不只是“做一个能打开的网页”,更重要的是建立一套自己能长期维护的内容系统:域名、服务器、源码、文章和备份都在自己手中。

与把内容完全发布在第三方平台相比,个人网站的优势在于自主性更高。平台账号依然适合获取流量和交流,但网站可以作为内容沉淀、作品展示和长期归档的主阵地。

一、先明确网站要解决什么问题

个人网站常见的用途包括:

  • 记录学习笔记、项目复盘和技术文章
  • 展示个人作品、简历和联系方式
  • 建立专题知识库或资源导航页
  • 作为个人品牌的长期内容载体

不同用途对应不同技术方案。对于以文章、笔记和心得为主的网站,静态站点通常是性价比很高的选择:访问速度快、服务器压力小、维护成本也相对低。

二、常见的网站类型与技术选型

1. 个人博客

适合日记、学习记录、技术文章和项目总结。

常见工具有 Hexo、Hugo、Eleventy(11ty)等。它们会把 Markdown 文章和页面模板构建成 HTML,再部署到服务器或静态托管平台。

2. 知识文档站

适合课程笔记、操作手册、系统化教程和知识库。

VuePress、VitePress 等工具更偏向“文档阅读体验”,通常支持目录、侧边栏和全文搜索。

3. 导航站或工具站

适合整理常用工具、AI 服务、资源链接等内容。

这类网站更依赖页面交互、分类筛选和内容更新机制,前期需要更明确的信息架构。

4. 资源分发或业务站

如果涉及登录、上传、订单、会员或复杂数据管理,就不再只是静态网站,需要数据库、后端接口和更严格的安全设计。

三、搭建前需要准备什么

本地工具

  • VS Code:编辑 Markdown、样式和配置文件
  • Git:记录版本、同步源码、保留修改历史
  • Node.js:运行静态站点构建工具
  • 浏览器和终端:查看效果、执行构建与部署命令

域名与服务器

域名是网站地址,例如 example.com。服务器则负责保存网站文件并对外提供访问。

如果网站部署在中国大陆服务器,对外提供网站服务时,通常需要按照接入商要求完成备案;具体是否需要、备案主体和材料要求,应以服务器接入商及当地管理要求为准。

对于文字为主的个人网站,入门阶段通常不需要很高配置。服务器重点关注稳定性、带宽、系统安全和后续维护便利性,而不是盲目追求高配置。

四、我选择的方案:11ty + Nginx + GitHub

这次实践没有使用 Hexo,而是使用 Eleventy(11ty)构建静态网站。

整体流程如下:

Markdown 文章和网站模板
↓
11ty 构建为 HTML、CSS、JS 等静态文件
↓
Nginx 对外提供网站访问
↓
GitHub 保存源码和历史版本

11ty 的作用

11ty 会把 Markdown 文件转换为网页。例如:

src/notes/personal-website-build.md
↓
/notes/personal-website-build/

写文章时主要维护 Markdown;构建后,访客看到的是普通网页,不需要浏览器运行 Markdown 工具。

Nginx 的作用

Nginx 是服务器上的 Web 服务软件,负责把构建好的静态文件提供给访客。

它还可以承担一些额外工作,例如:

  • 绑定域名
  • 配置 HTTPS
  • 反向代理评论或后台接口
  • 为后台入口增加访问认证
  • 控制缓存和访问规则

GitHub 的作用

GitHub 不只是代码备份工具,也可以保存网站的完整修改历史。

目前网站采用“服务器内容优先”的同步方式:

在线后台保存文章
↓
服务器重新构建网站
↓
自动提交并推送到 GitHub

这样即使本地电脑出现问题,文章源码和修改记录仍保存在 GitHub 仓库中。

五、内容管理与安全设计

纯静态网站本身不能直接保存文章,因此如果需要在线编辑,就需要额外运行一个后台接口。

当前后台采用两层保护:

  1. Nginx Basic Auth:先验证后台入口账号密码
  2. ADMIN_TOKEN:后台接口再次验证管理口令

这种方式不能替代完整的用户系统,但对于只有一个管理员的个人学习网站,能在操作便利和安全之间取得相对平衡。

需要注意的是:后台、服务器和 GitHub 密钥都不应写进文章、公开仓库或前端代码中。密码与私钥应单独保存,并定期检查服务器日志和软件更新。

六、评论、图片与扩展能力

静态网站可以通过外部服务扩展互动能力。

例如评论功能可以使用 Twikoo 一类的评论系统;图片较多时,也可以将图片放到对象存储或图床中,减少服务器磁盘和带宽压力。

当访问量增加后,还可以考虑:

  • 配置 HTTPS,保护访问和后台登录过程
  • 使用 CDN 加速静态资源
  • 定期备份服务器和 GitHub 仓库
  • 增加站点统计、搜索和订阅功能
  • 为文章分类、标签和归档页优化导航

七、这次实践的收获

这次搭建让我更清楚地理解了网站并不是一个孤立的页面,而是一套内容生产和发布流程:

写 Markdown
↓
构建静态页面
↓
部署到服务器
↓
在线访问与互动
↓
自动同步源码到 GitHub

工具会变,框架也会变,但核心能力始终是:理解内容、版本、部署和安全之间的关系,并建立一套自己可以长期维护的工作流。