#技术 之前的博客方案是通过hexo部署,并托管在github上。但缺点,一是访问速度慢;二是而且每次换电脑,安装git,nodejs,拉取github,再更新到github上的时候,总是会出现各种问题,每次折腾完就没心情写东西了。 偶然看到hugo,更轻量,支持多平台,安装简单,刚好有台VPS服务器一直没用上,决定利用起来。
最初其实还是想托管到github的,但是失败了,本地预览正常,传到github上最初不显示样式,好不容易解决后,又出现了首页正常,但二级页面无法访问,搜索功能无法使用等等问题,试了一晚上,睡都没睡好,第二天困得要死,决定放弃,直接部署到VPS上。
环境
Ubuntu 22.04 x86_64
需要软件:Hugo,nginx,git
最初系统是Centos 7,但在这个系统下无法顺利安装Hugo,总是提示找不到软件,下载Hugo安装包,使用alien转换为rpm包安装,又提示缺少依赖,再去找依赖安装,依赖安装又失败,绕来绕去,算了,换系统。
更新软件
apt-get update
apt-get upgrade
安装git
apt-get install git
安装上传下载工具lrzsz,方便后续上传本地编辑好的博文。
sudo apt-get install lrzsz
安装nginx
apt-get install nginx
查看版本
nginx -v
启动nginx
service nginx start
安装上传下载工具lrzsz,方便后续上传本地编辑好的博文。
Hugo
安装
sudo apt-get install hugo
检查Hugo版本
hugo version
创建新的Hugo站点
hugo new site quickstart
添加主题
进入项目根目录
cd quickstart
初始化git
git init
git init
复制stack主题到项目
git submodule add https://github.com/CaiJimmy/hugo-theme-stack.git themes/hugo-theme-stack
复制主题demo到项目根目录
cp -r /root/quickstart/themes/hugo-theme-stack/exampleSite/* /root/quickstart
修改config.yaml文件
这里最重要的是要进去把域名换成自己的服务器地址或者域名地址,其他信息根据自己需求改写,如博客名,语言之类。
baseurl: https://example.com
添加内容
hugo new posts/my-first-post.md
启动本地服务器,并指定端口预览
hugo server --bind="0.0.0.0" -v -w -p 1314
Hugo支持实时修改,实时预览,修改过程中无需反复重启预览服务,这个server在一个单独的窗口拉起一次即可。
发布
复制到nginx的www地址
cp -r /root/quickstart/public/* /var/www/html/
访问服务器地址即可,默认80端口,之后可改绑自己的域名。
错误
- 发现一个操蛋的问题,date写2022就无法显示文章了
解决:date日期不能太前,现在是27号凌晨,只能写26号,还以为是格式错了,对比了半天。
-
语法格式错误会导致页面不渲染,尽量复制已经写好的,然后在上面修改,改的过程中留心标点符号。
-
自定义catagorios时,注意创建的目录名要和_index.md文件中的目录名一摸一样。