R.A.'s Blog
望みを下さい。
关于
文章分类
按月归档
友情链接
2020-02-14 | 分类:技术 | 标签:Typecho

近来因为 COVID-19 疫情无法出门,闲来无事。今天便将博客由 WordPress 迁移至 Typecho。

WordPress 的缺陷

WordPress 基于 GPLv3 开源,拥有极为丰富的主题与插件,甚至可以使用 Elementor 等 Page Builder(页面构建器)。作为 CMS 使用,WP 的实力毋庸置疑,但作为个人 Blog 来说,显得稍有些臃肿和复杂。相比而言,Typecho 的轻巧快速、简洁明快可见一斑,所谓「Less is more」即是如此。

由于天朝特殊的互联网环境,多为 WordPress 主题采用的 Google Fonts 字体服务在境内用户体验不佳,加上 WordPress 商业化较强,模板及插件多为商业软件,且更针对企业官网等 CMS 类应用。Typecho 插件和主题更多为开源主题或个人开发者的商业主题,性价比更高且没有浪费性能的激活模块。

Typecho 占用的服务器资源更少,意味着运行更快、更省钱……最重要的是,Typecho 原生全局支持 Markdown!(虽然 WordPress 也支持但是只作为一个 Gutenberg 区块)

Typecho 同样基于 GPL 开源,但由于最新稳定版本发布时间较早(2017 年),使用的是 GPLv2。不过不用担心,项目并没有停止维护,GitHub 上 Commits 提交很频繁。期待新版本的发布。

服务器环境

本人使用的服务器为阿里云 ECS 学生机,24 周岁以下可免验证自动获得学生身份,9.5 元人民币/月。操作系统为 Ubuntu 18.04 LTS ,使用 LNMP 架构(ECS 上安装 Nginx 1.17PHP 7.4 ),使用阿里云 RDS 数据库。至于 LNMP 架构搭建的细节,本文不做详细展开,可使用 LNMP 一键安装包 ,方法自行参考其官网,新手可以使用各类面板,在此不做推荐,若有时间另作文章说明。

域名解析

将自己的域名用 A 记录解析至自己的服务器 IPv4 地址,如 123.223.113.156,或 AAAA 记录解析至 IPv6 地址,或 CNAME 记录至 CDN 地址。介于安全,可自行添加 CAA 记录,防止 SSL 证书的滥发。添加 DS 记录,并启用 DNSSEC 防止 DNS 劫持。话说这就是 GFW 墙掉某网站的原理,不过国内的公共 DNS 也不支持就是了。(快速划掉)

另外,解析至境内主机需要域名进行 ICP 备案,否则封锁 80443 端口。暂时不强制进行网安备案。

SSL 设置

现在使用 HTTPS 大概是标配了吧,可使用阿里云提供的免费 DV 证书或 Let's Encrypt 免费证书。我使用了 CDN,强制 301 跳转至 HTTPS 地址,强制 HTTPS 回源并启用 HSTS 。(这一步实在懒可以忽略,不过最好不要)

Typecho 安装

解压至网站根目录,打开主页,按照指示填写即可,记得改掉默认的 admin 用户名。换上喜欢的主题就好。我是用了 Bhao 大佬的 Cuckoo 主题,以及 Hanny 大佬的 Typecho Links 插件管理友链。

typecho.png

现在你可以开始写文章了,下面是进阶操作。

杂七杂八的设置们

阿里云 OSS 设置

为了节约空间,方便后期网站发展,提前进行动静态分离。使用了 OSS 插件,启用了二级域名 img.ixzh.net ,并同样设置了 CDN。

缓存

使用了 HTML 缓存插件,生成静态缓存,节约 CPU 时间,增强抗并发能力。(说实话对于我的小破站没什么必要)

可以忽略的感想

说实话,我的配置用的很夸张,至少相对于我这种小破站来说,甚至包括了 RDS 数据库以及自费的全球 CDN,还有 OSS、阿里云托管的视频点播等一系列败家行为。不过,要说学习意义倒还是有的。大家 CDN 可以考虑采用以在网站底部增加又拍云 Logo 为代价免费的又拍云联盟。没有 ICP 备案的话,可以使用 Cloudflare ,说实话,大陆地区较慢,至少我这里(山东移动)是这样。jsDelivr 是极为罕见的,在大陆有节点的免备案、由“境外势力”提供的免费 CDN,我没有用过,但我访问使用者的 Blog 以及官网速度大部分时候很快,但官网有时会卡是真的。

当然 Typecho 也有一些缺陷,从自身来说,仍然没有 WordPress 稳定,有细小的 bug,预览也不是很方便,需要设置为私密然后回到主站预览,没有多语言,文章及页面列表没有快速编辑;从生态上来说,缺少功能齐全的客户端,尽管集成了 XML-RPC 接口,而且很多主题和插件发布时间很早,又缺少维护,各种文档也没有那么齐全……不过得益于 Typecho 轻量级的代码,很多地方可以靠自己进行一些改动。

不管怎样,Typecho 还是很的,我大概很长一段时间内会坚持使用 Typecho 的。

最后是 Flag 时间

  • 自己做一套 Typecho 主题
  • 自己制作常用功能的整合插件
  • Live2D!
  • 魔改 Typecho,增加多语言并翻译

添加新评论