跳过正文

Hugo + Nginx 建站填坑实录:从 404 到 526 的全纪录

·120 字·1 分钟

🚀 建站背景
#

今天尝试在 VPS 上部署 Hugo 博客,原本以为一键安装就能搞定,结果遇到了不少经典“大坑”。为了防止以后再掉进去,特意整理了这篇实战笔记。


🛠 遇到的问题与解决办法
#

1. 访问域名显示 404 Not Found
#

现象: Nginx 已经运行,但页面无法显示。 原因: 权限问题。Nginx 默认无法进入 /root 文件夹,即使你给了 755 权限。 解决方法: 将整个项目移动到标准 Web 目录 /var/www/,并把所有者改为 www-data

sudo mv /root/my-website /var/www/
sudo chown -R www-data:www-data /var/www/my-website

2. Cloudflare 报错 Error 526 (Invalid SSL)
#

现象: 浏览器显示 SSL 证书无效。 原因: Cloudflare 开启了 “Full (Strict)” 模式,但服务器端的证书配置不完整或过期。 解决方法: 将 Cloudflare 的 SSL/TLS 模式改为 Flexible,或者手动用 Certbot 重新申请证书。

3. 域名跳转到无关网站
#

现象: 访问根域名却跳到了奇怪的地方。 原因: Cloudflare DNS 中残留了旧的 CNAME 或 Page Rules 记录。 解决方法: 清理 DNS 列表,删除不相关的解析记录,确保只有指向自己服务器 IP 的 A 记录。

4. Hugo 配置文件解析错误
#

现象: unmarshal failed: toml: literal strings cannot have new lines原因: hugo.toml 中的字符串引号没闭合,或者多了一个换行符。 解决方法: 检查并确保 baseURL 等配置项在同一行且引号完整。


💡 总结
#

折腾的过程虽然坎坷,但学到的东西才是最扎实的。

本站所有技术问题由 Gemini 协助解决。 🤖