使用Hugo在远程主机上搭建博客

近电脑出了点问题重装系统,一不小心把硬盘都给格式化了(。。。),原先的Hexo博客系统也被删了一个干净。无奈之下本打算重装一遍,结果发现了Hugo这个生成速度快而且安装方便的博客系统,所以就果断的投入了Hugo 的怀抱。。。本文就是简单记录一下安装过程,做个备忘,免得下一次又出现事故时忘记怎么装的了。

安装及简单配置

安装

由于我的系统是ArchLinux,所以一行命令就完事儿了。

1
sudo pacman -S hugo

其他的系统可以从各自的软件源下载或者直接到github下载,然后进行安装。

选择目录文件夹,自定义网站根目录名,生成根目录,

1
hugo new site myblog   # 将myblog换成自定义的目录名

接下来就进行配置了。

配置

可以参考官方网站

查看相关文档。

在挑选主题进行下载的时候重点要注意主题的配置说明,有的主题功能较多,需要配置的选项也很多,而且较为复杂的主题甚至也自带多页文档说明,需要仔细阅读。

Zzo这个主题,

如果网站是在国内需要添加备案信息的话,可以选择底部有外链的主题,也可以自己手动修改一下,在主题的底部添加相关信息。

网站搭建

备案问题

如果是在国内搭建的话,就要注意这个问题了。不过各家云服务器提供商都有相关的服务和教程,按照程序走一般就没什么问题。

不过备案核查需要的时间可能较长,要耐心等待一段时间。

具体搭建

作为一个懒人,我是直接用的宝塔Linux面板搭建的,

喜欢折腾的请自便。搭建完后记得清空网站根目录下乱七八糟的东西。

部署

远程主机

新建git空仓库,

1
git init myblog.git --bare

hooks文件夹下新建文件post-receive,编辑内容,

1
2
3
4
5
6
7
8
9
#!/bin/bash
GIT_REPO=/path/to/blog    # 新建的git仓库
TMP_GIT_CLONE=/tmp/myblog
PUBLIC_WWW=/path/to/site  # 网站根目录 
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
chown -R www:www ${PUBLIC_WWW}   # 如果git仓库的权限和网站根目录的权限不同的话记得要修改相应的权限

本地

进入博客根目录,克隆远程主机中的仓库,

1
git clone xxx@xxx.xxx.xxx.xxx:/path/to/blog_repo   

重命名为public,在博客根目录下运行hugo命令,在public文件夹中生成博客文件。

提交到远端,进行同步,

1
git add -A && git commit -m "update blog" && git push -u origin master

这样生成的博客文件就同步到网站根目录下,可以用浏览器进行访问了。

教程暂告一段落,以后想起什么或者发现哪里有问题的话再修改。

updatedupdated2023-04-072023-04-07