站点目录
文档站当前统一部署在 ~/server/docs 下:
~/server/docs/docker-compose.yml:本地 Hugo 调试入口~/server/docs/site/config.toml:Hugo 站点配置~/server/docs/site/content/:文档正文~/server/docs/site/themes/PaperMod/:主题目录~/server/docs/site/public/:静态生成产物
本地调试
当前本地调试域名为:http://docs.cc.arpa
调试容器由 ~/server/docs/docker-compose.yml 启动,关键配置如下:
- 容器名:
hugo-docs - 镜像:
hugomods/hugo:exts - 本地端口:
127.0.0.1:1313 - 挂载目录:
~/server/docs/site -> /src - 重启策略:
unless-stopped
启动命令:
cd ~/server/docs
docker compose up -d
线上发布
当前线上域名为:https://geoffyu.com
发布方式不是直接把 Hugo 开发容器搬到线上,而是:
- 在本地把站点生成到
~/server/docs/site/public/ - 将生成结果同步到
ali:/root/server/geoffyu-site/site/ - 由
ali上的nginx-duel统一反向代理到geoffyu-site - 由
nginx-duel负责 HTTPS 证书和80 -> 443跳转
站点配置
站点核心配置文件是 ~/server/docs/site/config.toml。
当前约定:
baseURL = "https://geoffyu.com/"- 默认语言为中文
- 主题使用
PaperMod - 首页菜单包含:文档、关于、归档
如果要改站点标题、菜单、首页文案、文档功能开关,优先修改这个文件。
反向代理链路
线上反代链路:
geoffyu.com -> nginx-duel:443 -> geoffyu-site:80
当前 HTTPS 证书由 ali 上 nginx-duel 挂载 /root/server/duelarena/certbot/conf 中的 Let’s Encrypt 证书提供。Nginx 1.29 已改用较新的 HTTP/2 写法:
listen 443 ssl;http2 on;
不要再继续使用旧的 listen 443 ssl http2; 写法,否则 nginx -T 会出现 deprecated warning。
本地调试链路:
docs.cc.arpa -> nginx-all -> host.docker.internal:1313 -> hugo-docs
文档发布方式
当前文章直接写在 ~/server/docs/site/content/ 下。
常见位置:
- 首页:
~/server/docs/site/content/_index.md - 普通页面:
~/server/docs/site/content/about.md - 文档页:
~/server/docs/site/content/docs/*.md
保存后,本地 Hugo 开发容器会自动热更新;需要上线时,再重新生成静态文件并同步到 ali。