博客升级路线

工具 · 03-17

我的博客之前一直是用的jekyll,一个很简单的静态博客生成系统,好处是真的很简单,没有评论、热度这类动态数据,同时也不需要数据库,用运行环境,搞个nginx指一下webroot就行,也有不少主题插件。不需要关心有没有人攻击、数据泄露、篡改什么的,但同时也一直有个问题存在,那就是更新有点麻烦,需要在本地打包手动上传到自己的vps上,搞的过程很像一次手动上线,比较繁琐,前一段时间正好换了vps,正好重新搞一套。

从头说

服务器选择

放在境内还是境外?境内的话两个选择,一是我手里有个阿里云的ces,2核2G,到是正好能用;二是放到nas里,好处是本地部署,不用占用云服务器,但是我的域名在Godady,如果转到境内的话还需要转到国内域名商,实名认证,然后还得备案,虽然我之前有过备案经历(当初备案还要用一个特殊的背景布自拍……),但还是觉得太麻烦,而且不想网站下面写个IPC备案这样的文案,太丑了;于是觉得先放境外,之前的『搬瓦匠』IP因为我在上面搭了个自用的梯子结果ip被封了,而且『搬瓦匠』换IP得7美元,而且换完还不一定是通的,刚好也快到期了,就准备换个服务商,找个名气小一点的,找来找去决定用RackNerd,但买来发现评价一般,也不能退款了,但好在便宜而且目前看ping值还可以。

博客框架选择

racknerd的vps是1核1G的,性能一般,尽量不跑大的数据,所以halo这种用java跑的就放弃了,毕竟跑完个java虚拟机就占了不少资源,而且我本身也不熟悉java,想要定制化改个什么功能也不好操作,所以放弃了

wordpress是另一个选项,功能丰富,插件强大,论坛热闹,不过就是太庞大了,目前我一个个人博客,不至于用到这么庞大的系统,对系统资源也不友好

typecho,这是个php的小型框架,轻量级,只是插件不够丰富,论坛活跃度很低,不过看他们github最近一段时间还在更新,说明还没放弃,而且最近关注度似乎有上升趋势,插件、主题少但目前足够我用的了,并且支持sqlite,一个博客起一个mysql服务感觉也不至于

架构决策

既然决定typecho,那肯定要走nginx+php了,单机个人博客起个mysql意义也不大,直接sqlite走起。

正常情况下走433和80端口需要走root权限来起服务,但这样安全性不高,常用root误操作危险性也高,所以准备起两个nginx,一个用于对外服务走proxy_pass,一个用于内部反向代理

graph subgraph Root nginx-out("Nginx(433,80)") acme.sh("Let's Encrypt(acme.sh)") nginx-out --> acme.sh end subgraph Work nginx-in("Nginx(8080)") php("php(fpm.sock)") nginx-in --> php webroot("webroot") php --> webroot end nginx-out --> nginx-in

UI优化

选来选去,选中了Jasmine,但是我个人不喜欢博客内容黑色风格,所以删除了可切换深浅主题样式的代码,另外评论目前我也不需要,但配置中需要每篇文章都需要单独处理,那后面我也会删掉这部分代码

About.html页面我还不知道要写点什么,random.html我看框架内部也没有实现对应功能,但还是先留了下来,之后我自己来补吧,可能要fork一下jasmine的代码

根据网站名,设计了一个『E』字母的logo,时间问题,先这么着吧,后面看还需要改啥

typecho
Theme Jasmine by Kent Liao Modified by eLangX