Hexo建博客踩坑总结
- 2018-2-13
- 折腾
从买域名到完成博客已经过去了好几天了,这几天也算是踩坑无数.其中,有很多坑是可以在网上搜到解决方案、也有好多坑是自己摸索填上的.
坑1 努力将Hexo部署在服务器上
首先,这样的想法是不恰当的. 如果将Hexo部署在服务器上,当你的文章很多的话, 渲染会很吃力, 如果你的服务器太渣的话, 可能一言不合就罢工. 所以在本地渲染好页面再git提交到服务器上才是正解.
因此,网上大部分教程都是采用这种思路:
本地: nodejs+Hexo+git
服务器: git+nginx
关于用Hexo建立博客的细节这里就不再赘述了,这里推荐几个我当初参考的教程:
坑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 | algolia: |
复制到hexo根目录下的原始_config.yml文件的末尾、即可.
坑6 使用algolia搜索总是搜不到任何东西
解决方案: 那是因为你未能成功hexo algolia
每次网站更新很多文章后,要及时提交数据, 即执行:
1 | export HEXO_ALGOLIA_INDEXING_KEY=你的唯一搜索Key |
坑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
还有好多坑一会想不出来,以后想到再说吧~
下面再推荐一些别人碰到的坑以及美化博客教程: