Hugo + NGINX 自动化部署脚本:一行命令发布博客

用 shell 脚本实现 Hugo 构建、服务器部署、缓存清理一体化流程,告别手动 scp。

4

痛点

每次写完文章都要手动执行:

  1. hugo 构建
  2. scp -r public/* user@server:/var/www/html/
  3. 清理缓存
  4. 检查线上是否正常

太麻烦了,写成脚本一行搞定。

部署脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#!/bin/bash
set -e

echo "🚀 开始部署博客..."

# 1. 构建
echo "📦 构建站点..."
hugo --minify

# 2. 同步到服务器(rsync 增量传输,比 scp 快)
echo "📡 同步到服务器..."
rsync -avz --delete public/ ubuntu@server:/var/www/html/

# 3. 清理 NGINX 缓存
echo "🧹 清理缓存..."
ssh ubuntu@server "sudo nginx -s reload"

echo "✅ 部署完成!访问 https://wenyiblog.top/ 查看"

效率对比

方式 耗时 出错率
手动 ~2 分钟 中等
脚本 ~15 秒 几乎为零

进阶方案

  • GitHub Actions:push 自动部署
  • Webhook:本地写完触发远程构建
  • 定时监控:Cron 每天检查站点可用性

💾 脚本已放到 Gitee,可直接 fork 使用。

广告
广告位预留中 (728x90)