折腾博客遇到的蛋疼问题

这几天一直都在研究Hexo建站,目前总算折腾的差不多了,中间也是遇到不少的坑,汇总一下,留个纪念!比如这里的内容就是一段测试内容!

发布

本来很简单的东西,配置啥的也没啥可说的,可是就是死活不行

error info

后来在SF上看到了一篇提问,使用git bash执行命令就OK了,自己测试了一下,果然OK

中文路径

既然title可以使用中文,发布的时候路径也会包含中文,这就导致某些特定环境中文路径失败。

我使用的是Linux下 Nginx + Tomcat 的服务器环境,现别问我为什么这么麻烦,我自己知道直接最简单的服务器就够用。

因为我这个环境之前也是测试很多东西,现在搭建成这样不想(其实是懒)去更改它而已

tomcat 的conf里有个 server.xml 文件,找到下面配置,添加 URIEncoding="utf-8" 属性即可支持中文路径,原因是因为请求默认的编码问题

1
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

修改以后

1
<Connector port="8888" protocol="HTTP/1.1" URIEncoding="utf-8" connectionTimeout="20000" redirectPort="8443" />

重启服务OK了!

奇怪

我本地使用的是window,测试没问题,但是相同的配置放到Linux下就还是不能访问,页面提示404

后来查资料貌似是我的Linux没有中文语言包,导致中文无法识别,没办法,安装吧

输入下面命令查看系统的语言

1
echo $LANG

显示 en_US.UTF-8 是英文语言,换成中文的,先查看是否已经存在语言包

1
locale

如果不存在 zh_CN.UTF-8 则说明系统没有中文语言包,通过下面命令下载安装

1
yum groupinstall chinese-support

安装成功后,通过下面命令修改配置切换默认语言

1
Vi /etc/sysconfig/i18n

修改 LANG="zh_CN.UTF-8" 保存,重启,输入date命令测试下,显示中文日期,OK。

但是

折腾完了,本以为这样就OK了,结果还是不行,通过 ls 命令查看中文文件或者文件夹shell上面显示是 ?? ,而且我把路径里的中文换成 ?? 居然可以访问。

原来不是配置问题,是上传的时候中文被转码了,分析以后发现是FTP上传工具的问题,参考 百度经验这篇文章设置了下我用的FTP软件,重新上传,OK了!

至此折腾告一段落,不经历永远不知道这些坑,任何一个坑都能把你坑死。。。

还有个小问题就是我发现Hexo官网的主题连接的网站有的站点访问的路径并不是title下的文件夹路径。我们默认都是文件名跟路径一致,等下有空研究一下是不是可以自己修改文件名