使用hugo部署个人博客

近期换了云服务器商,原wordpress博客迁移起来太麻烦,干脆换成轻量级的hugo

小技巧

使用hugo生产静态页面,然后将public下的文件迁移到对应的blog目录

可以使用脚本来完成

#!/bin/bash

# 定义变量
HUGO_DIR="/root/blog"
PUBLIC_DIR="$HUGO_DIR/public"
DEPLOY_DIR="/www/blog"

# 生成 Hugo 静态文件
echo "开始生成静态文件..."
cd "$HUGO_DIR" || { echo "Hugo 目录不存在!"; exit 1; }
hugo --noCache

# 检查生成是否成功
if [ $? -ne 0 ]; then
    echo "Hugo 生成失败!请检查配置。"
    exit 1
fi

echo "静态文件生成成功。"

# 移动生成的静态文件到目标目录
echo "开始部署静态文件..."
sudo rm -rf "$DEPLOY_DIR"/*
sudo mv "$PUBLIC_DIR"/* "$DEPLOY_DIR/"

# 设置目标目录权限
sudo chown -R www-data:www-data "$DEPLOY_DIR"
sudo chmod -R 755 "$DEPLOY_DIR"

# 检查移动结果
if [ $? -eq 0 ]; then
    echo "静态文件部署成功!"
else
    echo "静态文件部署失败!请检查权限或路径。"
    exit 1
fi

# 重启 Nginx 服务(可选)
echo "重启 Nginx 服务..."
sudo systemctl reload nginx

# 检查服务状态
if [ $? -eq 0 ]; then
    echo "Nginx 服务重启成功!网站已更新。"
else
    echo "Nginx 服务重启失败!请检查配置文件。"
    exit 1
fi

echo "博客部署完成!🎉"

添加到hugo命令

alias hugo-deploy='./deploy_blog.sh'

上述别名只能在当前终端生效,无法全局生效

添加全局别名

大部分linux发行版配置文件是~/.bashrc, 我们打开他

vim ~/.bashrc

在末尾添加

alias hugo-deploy='./deploy_blog.sh'

然后刷新一下

source ~/.bashrc