部署链路

git push → 服务器 git pull → hugo 构建 → 输出到站点目录 → Nginx 托管

Nginx 配置要点

  • 80 端口全部 301 跳转到 HTTPS
  • 443 端口开启 SSL,证书由 Let’s Encrypt 签发
  • 静态文件开启 gzip 与缓存

完整配置见仓库 deploy/nginx-myblog.conf

证书自动化

# 安装 certbot 后一条命令签发并自动改写 nginx 配置
sudo certbot --nginx -d www.example.com -d example.com

# 续期由 systemd timer 自动完成,可手动验证
sudo certbot renew --dry-run

服务器上安装 Hugo

# Debian/Ubuntu(官方仓库版本偏旧时可二进制安装)
sudo apt install hugo
# 或从 GitHub Releases 下载对应架构的 tar.gz 解压到 /usr/local/bin