Hugo 博客搭建

hugo 是一个基于go语言的博客框架

本次探索基于VMware虚拟机进行

系统采用CentOS

使用宝塔面板管理nginx站点

虚拟机基本配置

VM安装完虚拟机之后,创建一个快照。

su root
# 输入密码
vim /etc/ssh/sshd_config

修改这些地方

PermitRootLogin no
TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 3
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

重启sshd服务

systemctl restart sshd

获取虚拟机内网ip

ifconfig

得到ip地址192.168.2.142

设置私钥

ssh到虚拟机

cd ~
mkdir .ssh
chmod 700 ~/.ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
vim .ssh/authorized_keys

复制公钥进去

设置hosts

在物理机上面添加一条记录,192.168.2.142 york.hugo

安装宝塔

第一步,ssh到虚拟机

su root
# 输入密码
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
# 过程中需要输入一次y

安装完成之后,会给出一个访问面板的信息,记录下来

外网面板地址: http://***.***.***.***:8888/7ecd581d
内网面板地址: http://192.168.2.142:8888/7ecd581d
username: mh17grap
password: b3e8c060

因为使用虚拟机安装,访问的是内网的地址。在浏览器访问地址(把ip替换为hosts设置的域名),输入账号密码,同意协议,进入面板。

由于这次是探路,并不是实际部署,所以面板的很多设置都跳过了。

安装LNMP套装时,只勾选Nginx即可。

配置hugo

下载hugo包

在hugo的release页面,下载最新的Linux-64bit.tar.gz包

https://github.com/gohugoio/hugo/releases

安装hugo包

在宝塔页面,点击文件,随便创建个文件夹(如user/york/hugo),上传下载好的包,并且解压。

cd ~/hugo
cp hugo /usr/local/bin

创建hugo站点

cd /www/wwwroot
hugo new site york.hugo
cd york.hugo

下载主题

https://themes.gohugo.io/

例如dream主题

https://github.com/g1eny0ung/hugo-theme-dream.git

cd /www/wwwroot/york.hugo
git clone https://github.com/g1eny0ung/hugo-theme-dream.git themes/dream

添加一篇文章

hugo new about.md
vim content/about.md

或者在宝塔面板直接创建文件也可以

随便写点什么

更新配置文件

在主题的文件夹里面,找到exampleSite文件夹,复制里面的config.toml文件到站点根目录

修改配置

baseurl = "http://york.hugo"
languageCode = "zh"
defaultContentLanguage = "zh"
title = "改一个自己喜欢的标题就行"
theme = "dream"

[params]
  author = "York Su"
  email = "自己的邮箱"

其他配置看情况自行修改

在本地启动hugo server

hugo server 

生成静态html文件

hugo

命令完成后,会在网站根目录生成一个public文件夹

之后更新了blog,也是输入这一个命令即可

部署网站

在宝塔新建一个站点,域名输入york.hugo,网站根目录选择/www/wwwroot/york.hugo/public

完成部署

部署时遇到的问题

1、在本地启动server时遇到了问题

因为是使用了虚拟机加宝塔面板来部署,所以并不是通过访问localhost:1313来访问站点,而是通过宝塔反代来尝试访问,结果出现了主题显示不正常的情况

解决方法是

hugo server --baseUrl="http://york.hugo" --bind= --buildDrafts -t dream

这个问题在配置了站点根目录的config.toml之后也可以解决

可以改进的地方

通过git或者syncthing或者ftp等各种方式对content文件夹进行同步。

自己写一个python脚本,每过一段时间检测content文件夹里面的文件是否有改动,如果有改动,在终端执行命令hugo来生成静态文件。

这样也可以实现自动更新。

个人观点

hugo的部署相比起hexo,是要方便一些。

但是hugo虽然是足够快,主题基本上都比较老,或者说比较难找到我满意的。我找到的基本都是16年的,而且有不少主题作者都已经停止更新了。不过也可能是因为我只是尝鲜一下,没有认真去找主题吧。

而且其实,相比起安装、部署,有一个更耗精力的地方其实是主题的DIY。一个主题即便是本身做得多么好,到我手上的时候肯定不是一开始就完全符合我的需求的,因此需要自己手动修改一些地方。而这,才是最麻烦、坑最多的地方。

而且严格来说,虽然是部署相对简便一些,但是后续的维护和使用其实和hexo是差不多的(对我来说都是有一点麻烦)。无非就是因为go语言的,生成的速度要快一些。

对我来说仍然是一个不会选用的博客框架。

You may also like...

发表回复

您的电子邮箱地址不会被公开。