从零搭建个人网站:一台服务器 + AI助手 = 全栈搞定
缘起 #
一直想拥有自己的个人网站,用来记录网络安全学习和研究的点点滴滴。正好手头有一台腾讯云服务器,说干就干。
整体架构 #
用户 → 公网IP:80 → Caddy反向代理 → Hugo静态文件
↓
腾讯云轻量服务器 (4核/3.6G/40G)
技术选型 #
| 组件 | 选择 | 原因 |
|---|---|---|
| Web服务器 | Caddy | 自动HTTPS、配置简洁、自带ACME |
| 站点生成 | Hugo | Go语言编写、极速编译、无运行时依赖 |
| 主题 | 自建简洁主题 | 轻量、自适应亮暗模式 |
| 域名 | 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 协议是通的。解决办法:
- 生成 SSH 密钥
- 添加到 GitHub Settings
- 配置 Git 全局走 SSH
git config --global url."git@github.com:".insteadOf "https://github.com/"
6. 发布脚本 #
写了个一键部署脚本 deploy.sh,每次更新文章只需:
./deploy.sh
经验总结 #
踩过的坑 #
- GitHub 被墙 — 国内服务器访问 GitHub HTTPS 不稳定,SSH 是更好的选择
- 腾讯云安全组 — 443 端口默认关闭,HTTPS 需要手动放行
- 文件权限 — Caddy 以低权限用户运行,需要注意目录的可读性
- PEP 668 — Ubuntu 24.04 禁止直接 pip 安装,需要用虚拟环境
一些心得 #
- AI 助手搭网站真的很爽 — 全程微信对话指挥,从建站到写文章一条龙
- 静态站点的优势 — 没有数据库、没有运行时、不会被黑、维护成本极低
- 选对工具事半功倍 — Caddy 比 Nginx 配置简单太多,Hugo 比 WordPress 轻量太多
后续计划 #
- 配置 HTTPS(等腾讯云开放443端口)
- 接入评论系统
- 写更多网络安全相关的技术文章
这篇文章本身也是用 AI 写完直接发布的。技术改变生产力。