愿我们都好事发生

为什么小白更该使用静态博客

2023.10.08

背景

我是很抗拒写各种折腾类、教程类的文字的。

但最近群里小伙伴的云服务器持续被探测扫描、数据库间歇性瘫痪,我想还是简单分享下我的思考。

对于有技术能力的人来说,可以排查问题所在,但对不懂技术的博主们,排查问题几乎摸不着头脑的。

我给他的建议是,使用静态博客生成器。

我很少去推荐别人使用什么类型的博客系统,因为个体需求差异很大,我作为一个研发工程师,很容易想当然的,把一些对于别人很复杂的动作当成很简单的样子,这可能会让我陷入“何不食肉糜”。

名词

我先用极其简陋的描述,形容静态和动态两种博客的区别。

静态

静态,其实应该叫静态生成器,它本质上是一个编译、转换工具,可以想象成一个电饭煲把生米变成熟米,米熟了之后和电饭煲就没有任何关系了。
或者理解成,美图工具把照片P完,这工具和照片就没关系了,下次再需要P图就再使用。

静态博客文件最终就是一堆html文件,你甚至可以用记事本打开直接编辑完保存即可。
把这堆html文件放到支持展示的地方即可访问,通用性、稳定性、兼容性几乎无可比拟。

静态博客生成器如:

  • Hugo
  • Hexo
  • Vuepress

动态

动态应该叫做动态博客程序,这是一个持续运行的容器和程序,可以想象成汽车,你想使用就要一直启动,只要你熄火,那么车就无法行进了,所以要一直保持启动状态。

动态博客运行时需要服务器、数据库、缓存、博客程序本身等等,乍一看只是简单几部分,实则细究无穷。

动态博客程序如:

  • WordPress
  • Typecho
  • Ghost
  • Halo
  • FarBox(托管)
  • BearBlog(托管)
  • Gridea(托管)

想了解更多更细节的,可以去自行查阅。

简述

人们很容易在显而易见的问题上把问题搞反。

什么人适合静态博客

  • 完全不懂技术
  • 只懂得一点技术
  • 不愿意折腾
  • 对内容丢失无法容忍
  • 没钱

什么人适合动态博客

  • 爱折腾
  • 精通技术(包括但不限于服务器、数据库、缓存、网络、排查能力)
  • 有钱

以上是不是和你的理解正好相反。

为什么

一个动态博客程序,在运行期间,是有无数种变数的,如:

  • 服务器端口是否开放、防火墙是否放行、Cpu是否被其他程序打满100%、内存是否被打爆、网络是否通畅、连接数是否正常、硬盘读写是否正常
  • 博客程序本身是否有Bug、插件是否有漏洞、评论是否有漏洞、机器是否缺少博客程序的运行环境
  • 数据库是否Hang住、是否发生死锁、吞吐是否异常、特殊字符编码是否支持
  • 缓存是否击穿、穿透、雪崩
  • Nginx是否配置正确、证书是否自动续期
  • 机器、博客程序、类宝塔面板等常用程序是否被探测扫描
  • 被DDOS或CC时你是否能进入机器备份数据

这一系列的问题,都是你在每一天、每一刻,将面对的变数。
然而随便拿出几项,如果你没有技术能力,都是极其难掌控和处理的,最终的结果就是站进入黑洞、数据丢失、被挂恶意程序、被劫持等。

我们反观静态博客,如Hugo:

  • 电脑下载或安装Hugo、安装Git(如果不用Hugo甚至不需要),比安装微信复杂一点点
  • 打开你电脑中几乎一定存在的终端工具,执行几个命令
  • 将你写的Markdown内容生成转换为html文件
  • 将这些html文件上传到COS(有图形化工具不需要使用Git)、OSS(有图形化工具不需要使用Git)、github、服务器上的nginx都可

那些你洋洋洒洒写下的Markdown文件就在你面前,你的安全感十足。
运行期间,除了DDOS和CC攻击外,你不需要担心任何机器、程序、数据库、缓存等等问题,这些问题都交给了极其专业的基础设施提供者,你只需要安心写你的东西,然后敲打几个命令,内容就被安全无误的上传到安全地带,数据天然本地和云端双重备份,你的安全感由十足变百足。

结论

动态,代表着运行时无穷无尽的变化与未知,任何一个节点出现问题,都可能牵一发而动全身,机器与机器、线路与线路、程序与程序、库与库、表与表之间的关联关系错综复杂,相互协作。
技术小白是缺少对于变化、异常情况的掌控能力的,而这种变化又可能在任何时刻发生,你也不想每时每刻都担心对嘛。

静态,代表着第一次会复杂一点,但在后续你的使用、博客的运行时,将稳如泰山。
所以,我更推荐技术小白使用静态,就像你第一次学骑车🚴🏻,刚起步会有点难度,但骑了几次后,你甚至从未再忧虑过该怎么起步、怎么前进、怎么保持平衡。

什么???你说静态博客出问题会不会更难解决?
不,静态博客不会出问题,如果出问题,那就是你的问题,hhhh.

以上,个人拙见,不喜喷,拜拜👋🏻。