Hexo建博客踩坑总结

Hexo建博客踩坑总结


  从买域名到完成博客已经过去了好几天了,这几天也算是踩坑无数.其中,有很多坑是可以在网上搜到解决方案、也有好多坑是自己摸索填上的.

  现在,我尽量写下自己还能记得的坑,以便能够帮助后来的人:

坑1 努力将Hexo部署在服务器上

  首先,这样的想法是不恰当的. 如果将Hexo部署在服务器上,当你的文章很多的话, 渲染会很吃力, 如果你的服务器太渣的话, 可能一言不合就罢工. 所以在本地渲染好页面再git提交到服务器上才是正解.

  因此,网上大部分教程都是采用这种思路:

本地: nodejs+Hexo+git

服务器: git+nginx

​ 关于用Hexo建立博客的细节这里就不再赘述了,这里推荐几个我当初参考的教程:

如何使用阿里云+Hexo搭建个人静态博客?

如何在服务器上搭建hexo博客

优化hexo访问速度-将hexo部署到云主机VPS

坑2 使用Xshell去远程ssh登录

  注意! 这是一个大坑 , 在创建 服务器上创建git账户 那一步中要做到 不需要输入密码 自动使用公匙 即可连接至远程仓库. 但是我一开始使用 Xshell登录,却发现不管我怎么配置都需要输入密码. 后来我换git bash直接就可以免密登录.

  结论: 千万不要使用Xshell作为你的ssh远程登录工具!

  推荐使用git bash去ssh远程登录你的服务器, 在任意界面输入ssh 用户名@主机名IP即可连接远程服务器.

坑3 找不到nginx的默认部署目录

​ 在教程如何使用阿里云+Hexo搭建个人静态博客?中,答主认为大部分的nginx的默认部署目录是:/usr/share/nginx

​ 我个人实测, 使用宝塔面板自动安装的nginx的默认部署目录是/www/server/nginx/html

  如果你没有找到nginx的默认部署目录的话, 建议你去看看 nginx.conf 的配置信息, 这里面保存了nginx的默认部署目录.

坑4 在本地手动用git bash git init了一下你的博客目录

  这样做会把你博客目录下的所有文件全都push上去了,以至于网站根目录下没有发现index.html文件,服务器报403错误. 解决方案是,把你博客目录下的那个隐藏.git文件夹给删掉.

坑5 使用algolia搜索: 提示必须要在_config.yml文件中加上 indexName: 'xxx' 配置项

​ 然而事实是,我们明明已经在next目录下的_config.yml中 补充完整了这个配置项.

​ 解决方案: 将next目录下的_config.yml文件中的:

1
2
3
4
5
6
algolia:
applicationID: 'xxxxxxx'
apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
adminApiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
indexName: 'xxxxx'
chunkSize: 5000

复制到hexo根目录下的原始_config.yml文件的末尾、即可.

坑6 使用algolia搜索总是搜不到任何东西

​ 解决方案: 那是因为你未能成功hexo algolia每次网站更新很多文章后,要及时提交数据, 即执行:

1
2
export HEXO_ALGOLIA_INDEXING_KEY=你的唯一搜索Key
hexo algolia

坑7 点击algolia的搜索结果会打开一个莫名其妙地网站:

​ 原因是, hexo根目录下的网站url未配置, 示例配置如下:

这里url的值既可以填你的网站的域名也可以填写IP地址.

坑8 Hexo无法渲染出表格

解决方案:

表格要与上面的文本内容空一行

表格前面不能有Tab或者空格

坑9 因大小写导致的404问题

原因: git默认不区分文件和文件夹名称的大小写, 但是url地址却对大小写敏感

解决方案:

Step1 找到hexo中关于git的配置文件config

   假设你的hexo根目录名为Blog则配置文件路径为Blog\.deploy_git\.git\config Step2 编辑该文件

   将ignorecase = true改为ignorecase = false

Step3 重新在bash中执行hexo g && hexo d

还有好多坑一会想不出来,以后想到再说吧~

下面再推荐一些别人碰到的坑以及美化博客教程:

hexo 部署至Git遇到的坑

hexo的next主题个性化配置教程