关于用Hugo建站之后需要注意的事项

Posted by ARay on July 28, 2017

这两天按照FanVinga的教程把这个Blog折腾着建起来了。虽然前前后后遇到的问题不少,但是幸好有FanVinga的帮助,一直帮我解决这些操作中和使用上出现的小白问题。

在基本上搞清楚了这些问题的解决方式之后,我决定写个备忘录。免得出现了问题之后反复的去麻烦别人解答。


建站的时候需要注意的

取得VPS的root权限。

  • 我自己用的VPS是暂时免费谷歌云(GCP),GCP默认是不允许用密码来登陆SSH的。但是为了以后rsync更新的方便,首先要用HyperApp里面的 SSH keys 将Mac上的ssh秘钥替换掉。

  • 首先在Mac的终端执行

ssh-keygen

然后一路回车,执行完之后,再执行

open ~/.ssh

这时候Mac的Finder会出来一个名字叫.ssh的文件夹,里面有三个文件,可以用文本编辑打开。

  • id_rsa文件里面的内容替换为HyperApp的 更多>SSH Key 里面的最后一项Private Key的内容,然后保存。
  • 接着将id_rsa.pub文件里面的内容替换为HyperApp的 更多>SSH Key 里面的第一项Actions的复制公钥的内容,然后保存。
  • 接下来去VPSssh执行

sudo su

就可以用root权限来进行操作了。

HyperApp需要TF版本

不是TF版本的话,现阶段的HyperApp会出错的。

Telegram里面私聊群主,附上购买凭证和通讯邮箱,群主会处理的



写新文章的时候需要注意的

Hugo建立的静态网页里面的文章都是.md格式的。但是每篇文章最顶端的那部分用的却是.toml的格式。(图片中的部分)

2017-07-27 22.38.47

  • Ulysses里面写文章,特别要注意在文章最顶端的部分单双引号的区别。
    • 请在Ulysses编辑 > 替换 里面将那些智能选项全部关闭。
  • Typora里面写完全没问题。

  • MacDown里面写也没问题。


更新的时候需要注意的

  • 我个人采用的是rsync方法,让Dorpbox里面的Mysite文件夹与VPS上同步。在Mac的终端执行本地命令

 rsync -av --delete -e 'ssh -p ssh端口默认22' ~/Dropbox/Mysite/ VPS用户名@VPS地址:/srv/docker/Hugo/ 

然后再回到Hyperapp里面对Hugo进行更新配置的操作。

  • 在采用rsync更新之前,一定要开终端单机跑一次!一定要开终端单机跑一次!!一定要开终端单机跑一次!!!重要的事情说三遍

进入/Mysite之后运行命令 hugo server

  • 跑完确认没任何问题了,再执行命令。

  • 要采用上传.zip更新的方式的话,首先把Mysite文件夹压缩成.zip文件,然后在Mac的终端执行本地命令

scp -P 本机ssh端口 本机上Mysite.zip的路径 VPS登录用户名@VPS服务器地址:/srv/docker

来把Mysite.zip上传到服务器的/srv/docker目录下面。

接着执行命令

unzip Mysite.zip && mv Mysite Hugo



Hugo出现restarting(1)xx second ago的时候该怎么办

出现restarting(1)xx second ago的情况是没有启动成功,或者是主题的名字错误造成的。

  • 如果是主题名字错误,那么进入VPS的终端,执行

ls /srv/docker/Hugo/themes/

看Themes文件夹里面的主题文件夹的名称和在HyperApp里面填写的名称是否完全一致。

如果一致,那就修改HyperApp里面的Themes的名称。

  • 如果主题是对的,那就检查HyperApp里面Hugo的日志。一般来说,会是新写的文章里面有问题,而且基本上就是文章顶端的某些字符不符合.toml的格式的问题。

    • 这个比较好解决,单机跑一次,看清楚是哪篇文章的第几行在报错,找到位置做相应的修改就是了。
  • 如果单机跑了没问题,Hyprrapp里面也进行了Hugo的配置更新,甚至重启Hugo之后仍然显示restarting(1)xx second ago的话,那么就采用一个比较简单粗暴的方式来解决。

    • 首先要保证单机上运行起来完全正常!!!

      • 然后进入VPSssh,执行

cd /srv/docker/Hugo && rm -rf 

把网站的内容全部清空。

  • 接着在Mac的终端执行本地执行命令

 rsync -av --delete -e 'ssh -p 你的ssh端口默认22' ~/desktop/放到桌面的Mysite文件夹名字/ VPS用户名@VPS地址:/srv/docker/Hugo/ 

  • 然后再回到Hyperapp里面对Hugo进行更新配置的操作。

  • 打开浏览器,刷新缓存之后输入域名。

  • 这时候应该可以看到主页了。

--- --- ## 最后总结一下

Hugo建站,一定要在单机上运行起来完全没有问题之后才能在Mac的终端里面执行同步命令。

不能像Wordpress那样,以为在后台搞完了就可以直接发布出去,发现有了问题再修改。

当然,如果条件允许的话,可以在单机运行的同时写文章,毕竟是实时更新的。这样也可以更直观地看到网页上显示的效果。

2017-07-28 12.11.44