博客搭建也太难了!!!!!!!!!!! 整整花了两天时间,终于把博客搭建起来了。以后就是折腾主题,插件,等等等等…… 这篇文章将回顾两天以来我的“冒险”,我是怎么把这个博客修起来的。
搭建博客Day1,2021.1.8
这一天开始搭建博客。选用的是hexo,nginx,letsencrypt三件套;部署位置在我的WingerBlog上。第一版我根据这个文章来进行,试图把所有东西装到一块。但是装到一半的时候遇到了问题:进行到“Paste the following code in it.”这一步时,nginx -t
报了一个错误:
|
|
(不仅是这个,其中 ssl_ciphers
最后还没有加上分号,导致我苦恼了好长时间)
研究之后发现是没有安装ssl证书,原作者把这两个的顺序搞反了,导致安装不成功。解决方法是找了一个nginx安装ssl的教程,跟着教程配置了certbot装载ssl。这时候才发现,只需要跟着一步一步走就好,certbot会配置好想要的hexo.conf
文件。
这个文件位于
/etc/nginx/sites-available/hexo.conf
,里面是nginx启动这个网站的所有配置参数。其中root /var/www/hexo/public
这一行是最关键的一行,root是指网站根目录的位置,后面是 ~网站根目录的位置~ ,这个位置下面有生成的index.html
文件
解决了ssl问题之后,就开心的装好了整个hexo。
常用的hexo命令 Part1:(指令全部需要在hexo根目录里执行?)
创建新的post:
hexo new "name_of_the_post"
这条指令将在 _drafts 文件夹中新建一个名字为 name_of_the_post 的 .md 文件和文件夹
发布一个post:
hexo publish "name_of_the_post"
这条指令将把 _drafts 文件夹内的 name_of_the_post 文件移动到 _posts 文件夹中等待发
搭建博客Day2,2021.1.9
发现按照昨天的搭建方法,所有的md文件都需要在服务器上用nano编辑,很难受。于是想了想决定用另一个方法:搭建一个git系统,在本地编辑、编译然后git push/deploy
到服务器上。这里我主要参考了这两篇文章:
当然其中必然踩了不少坑,不然花不了一个晚上的时间:)
首先第一件事是ssh认证,参考这篇文章,也可以参考我的另一篇博客,关于CS201搭建服务器的痛苦历程。
第二件事是post-update
文件出现问题。这个文件是一个自动脚本,路径在/home/git/blog/hexo.git/hooks/
下,作用顾名思义是在git更新之后进行的脚本操作。
首先分析一下目录结构。
hexo
文件夹是存放所有生成好的文件的地方,也是上文中root
最后连接的位置。hexo.git
是一个git仓库,需要通过git init
创建。其中,hexo.git/hooks
存放了很多脚本,其中有一个脚本是在结束git更新后进行,用途就是将仓库中要发布的文件拷贝到发布文件夹中,使nginx能够得到更新。
问题出在哪里?重复尝试多次后,脚本依旧没有办法第一时间完成更新。我尝试了一下几个方法:
- 重启nginx服务
- 多次从本地
hexo deploy
- 把root改到原来的地方又改回来
- 把脚本前面的注释删除
同时,更新网页的速度变得极其缓慢,加载一个网页要用上10甚至9分钟,很离谱,而改到昨天的root位置就完全正常。于是我尝试了以下步骤:
- 重启服务器
- 把主题改成Next
不知道是哪一项起效了,反正它突然好了!我也懒得管了!
常用的hexo指令 Part2:
- 清理以前的generate信息:
hexo clean
- 生成新的网页:
hexo generate
orhexo g
- 部署博客:
hexo deploy
orhexo d
- 以上两个也可以合并成:
hexo d -g
总结
走了好多好多弯路!前后看了好几个不同的帖子,实在是太可惜了,如果一开始就找到合适的教程恐怕能节省很多很多时间。以下是几篇实际上不错的教程:
还有几个很有帮助的文章:
最后来一张我网站的截屏!这是WingerBlog上线的第一天~~~