1. 技术文章/

从零搭建个人网站:一台服务器 + AI助手 = 全栈搞定

·790 字·2 分钟

缘起 #

一直想拥有自己的个人网站,用来记录网络安全学习和研究的点点滴滴。正好手头有一台腾讯云服务器,说干就干。

整体架构 #

用户 → 公网IP:80 → Caddy反向代理 → Hugo静态文件
                  腾讯云轻量服务器 (4核/3.6G/40G)

技术选型 #

组件选择原因
Web服务器Caddy自动HTTPS、配置简洁、自带ACME
站点生成HugoGo语言编写、极速编译、无运行时依赖
主题自建简洁主题轻量、自适应亮暗模式
域名IP直连 + sslip.io免费、零配置
搭建助手Hermes AI Agent全程通过微信对话完成

搭建过程 #

1. 服务器就绪 #

腾讯云轻量服务器,Ubuntu 24.04,到手时已经预装了 Caddy 和 SSH,端口80对外开放。

2. 安装 Hugo #

sudo apt-get install hugo
hugo new site blog --format yaml

3. 编写主题 #

由于服务器网络环境受限(GitHub 被墙),无法直接下载现成主题,于是用 AI 助手即时生成了一个简洁的自适应主题:

  • 支持亮色/暗色模式自动切换
  • 响应式设计,手机也能看
  • 代码高亮、标签分类、分页导航一应俱全

4. 配置 Caddy #

sudo tee /etc/caddy/Caddyfile << 'EOF'
:80 {
    root * /home/ubuntu/blog/public
    file_server
    encode gzip
}
EOF

5. 解决 GitHub 连接问题 #

这是搭建过程中最折腾的一步。腾讯云机房对 GitHub 的 HTTPS 做了限制,但 SSH 协议是通的。解决办法:

  1. 生成 SSH 密钥
  2. 添加到 GitHub Settings
  3. 配置 Git 全局走 SSH
git config --global url."git@github.com:".insteadOf "https://github.com/"

6. 发布脚本 #

写了个一键部署脚本 deploy.sh,每次更新文章只需:

./deploy.sh

经验总结 #

踩过的坑 #

  1. GitHub 被墙 — 国内服务器访问 GitHub HTTPS 不稳定,SSH 是更好的选择
  2. 腾讯云安全组 — 443 端口默认关闭,HTTPS 需要手动放行
  3. 文件权限 — Caddy 以低权限用户运行,需要注意目录的可读性
  4. PEP 668 — Ubuntu 24.04 禁止直接 pip 安装,需要用虚拟环境

一些心得 #

  • AI 助手搭网站真的很爽 — 全程微信对话指挥,从建站到写文章一条龙
  • 静态站点的优势 — 没有数据库、没有运行时、不会被黑、维护成本极低
  • 选对工具事半功倍 — Caddy 比 Nginx 配置简单太多,Hugo 比 WordPress 轻量太多

后续计划 #

  • 配置 HTTPS(等腾讯云开放443端口)
  • 接入评论系统
  • 写更多网络安全相关的技术文章

这篇文章本身也是用 AI 写完直接发布的。技术改变生产力。