使用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