2024年6月

2021年把博客迁移到阿里云轻量服务器上,一直使用至今。中途升级了一次配置,三年的费用分别是720、918和918。其实很贵,但因为懒,不想再折腾,老老实实交了钱。

今年的服务器也快到期了,看到1900分享的99元一年的阿里云ECS,果断入手了,消费该降级还得降级。并且我发现可以99元再续一年,当然要薅到底,买了2年。与现在的费用相比,两年能省1638元。

接下来就是迁移网站,包括博客收藏夹,以及Memos不打算迁移了,需要备份数据。

之前的两次迁移,都有记录,也算折腾经验丰富了。

但没想到又踩坑了,主要有2个:

1、服务器80/443端口没有打开

我把所有程序、配置、数据都弄好了,就是访问不了,也没有Nginx报错返回,连Nginx日志都查不了。最后不得不求助阿里云客服,通过客服提供的一个检测链接,测试发现80端口未打开,心里一万只草泥马奔过。去阿里云后台打开80端口后,便能访问了,至少出现了Nignx的502页面,有Nginx报错,一切就好说了。

之后装完SSL证书,网站又打不开了,折腾了老半天,才意识到https是443端口,也没有打开,我真是笨出天际。

搞定端口问题后,网站能正常访问,4个多小时过去了。

2、Typecho的评论邮件通知功能失效

恰在此时,网友小宋留言评论了,但我没有收到邮件通知。去后台测试,报错Attempt to assign property "from" on null Error

我大概猜到是PHP版本号引起的。

Nginx的配置中涉及PHP版本号,我之前遇到过因为Nginx中PHP版本号配置不对,导致网站无法访问,因此我对这个信息比较敏感。新服务器上PHP版本号是8.1,而之前的服务器PHP版本号是7.4。网站能访问但插件不能用,我猜可能是评论插件CommentToEmail未兼容PHP8。

但我吧有点轴,就爱新版本,不想降级PHP,于是在网上找到其它版本的CommentToEmail,以及其它的评论通知插件,一个个试下来,都不行。一不留神,2小时又过去了。

只好认怂,把PHP降级到7.4,评论功能恢复。我直接判断出的问题是对的。

旧版挺好,没必要死嗑新版,想起老罗那句「又不是不能用」。服务器买了2年,至少2年不用折腾了。

至于Memos备份,我使用Python脚本全部下载到Obsidian中了,脚本放在Github上了。

最后附上阿里云活动页面:链接

Memos是一个类微博项目,我用了一年多时间,估计有些网友也是看了我去年的文章入了Memos坑。Memos迭代非常频繁,有多频繁呢,从2023年2月到至今(2024.6.12)共发布33个release版本。月均约2个版本,不可谓不多。

如此频繁的升级,产品体验却一言难尽,网上有不少吐槽,大致分类:

  1. 几乎每次升级都会遇到bug,且经常有严重影响使用的bug(比如,内容加载不出来)。
  2. 功能增减过于随意,比如大家都很喜欢的热力图删掉了,增加了备受争议的Telegram Bot,现在又把Telegram Bot移除了。
  3. 有若干次破坏性升级,比如最近的0.22.0,API不兼容,导致很多三方依赖挂了。

我亦有同感。

Memos的开发者应该是位新人,对Memos没有自己产品理念和规划,且把Memos当作学习技术的练手项目,根据用户的反馈随意增减功能。这本无可厚非,只是随着Memos用户越来越多,影响力越来越大,作者却没能珍惜这份影响力。

作为普通用户,用脚投票,唯有选择离开。

离开也有成本,意味着我需要备份数据。这让我思考对待开源工具的原则,尤其是内容管理类工具,因为每次弃用,都涉及对存量内容的处理。我想,需要遵循以下三条:

  1. 产品未进化到稳定态的,不要用。
  2. 已停止维护的,不要用。
  3. 作者对项目没有清晰定位的,慎用。

在此我想举两个正面案例,我长期使用的Typecho博客和Shaarli书签。这两个项目都超过8年,产品形态非常稳定,且保持着更新,但年均仅更新一两个版本。你当年因为任何原因爱上他们,多年后他们还是当初那个样子,不会变。

现在,我只保留两个self-host内容站:

Typecho博客:https://www.skyue.com
Shaarli书签:https://pocket.skyue.com


2024-06-16更新:送上备份Memos到Obsidian的Python脚本,脚本基于v2版本api。

在《使用Python和MetaWeblog API发博客》一文中,我介绍了我的博客工作流:使用Obsidian写作,然后切换到命令行执行Python脚本发布。

这个工作流用了近4年,运行的非常好。唯一不足就是每次都需要打开命令行运行脚本。

最近发现Obsidian有个Python Scripter插件,能直接在Obsidian内运行Python脚本。

于是我把之前的脚本稍加修改,实现了在Obsidian内一键发布笔记到Typecho的功能。我把脚本放在Github上,有需要的朋友可以自取。

我现在写完文章,只需要CMD + P打开Obsidian的命令面板,执行一个命令就能发布文章,如下图。若文章已经发布过,自动执行更新操作。

命令面板调用脚本发布文章
命令面板调用脚本发布文章

我会点Python,有了这个插件,感觉能做非常多的事情。比如自动备份Memos。

最后,简单介绍脚本的具体配置:

1、在Obsidian插件市场搜索「Python Scripter」插件并安装

2、启用并设置Python Scripter插件。其中有两个文件路径的参数,这两个参数可以在Python脚本中引用。

Python Scripter插件设置
Python Scripter插件设置

3、在Obsidian的.obsidian目录下创建scripts/python目录,把Github脚本保存在这个目录,需要配置好博客登录名、密码等信息。

保存脚本到目录
保存脚本到目录

4、在Obsidian的命令面板中置顶该脚本,今后就能通过CMD + P唤起命令面板后,快速发布文章。

接上篇《太原和高平之行》,端午和南瓜回九江老家,一切顺利。

周六周一主要赶路,周日玩一天,绕庐山自驾一圈,经东林寺、东林大佛和白鹿洞书院。但因中途下雨,东林大佛只在山下吃了午饭,白鹿洞书院也过而未进。

下午把爸妈送回家,我和南瓜去九江四码头步行街,找四姐妹萝卜饼,是我最爱的九江小吃之一。

自驾回九江
自驾回九江

东林寺给爸妈的合照,爸妈很少照相/合照
东林寺给爸妈的合照,爸妈很少照相/合照

东林寺进门后这棵宋代的树,仿佛开天眼
东林寺进门后这棵宋代的树,仿佛开天眼

四姐妹萝卜饼
四姐妹萝卜饼

很小的店,四姐妹真得是4个人,两人包,一个炸,一个收银。
很小的店,四姐妹真得是4个人,两人包,一个炸,一个收银。

本周一二请假,连着周末4天,到山西去了。先在太原听张杰的演唱会,随后到高平见南瓜的父母。

南瓜喜欢张杰,我们经常抢他的演唱会门票,每次都重在参与。太原演唱会也没抱希望,却一不小心抢到了,南瓜说这是家乡光环。

然后就买机票,订酒店,准备行程。发现专程到太原听场演唱会,成本不低。我们有端午节回高平见南瓜父母的计划,我两一合计,干脆请两天假,提前一周回高平。原计划中秋回九江见我父母,再一合计,改端午(就是明天了)回九江。这流程走的,太高效了。

演唱会

六一儿童节张杰演唱会,看到「这就是爱」的名场面。好几对现场求婚,摄像也很给力的捕捉到很多镜头和角度。

演唱会照片:

山西博物馆

周日在山西博物馆逛了逛就回高平。

山西博物馆
山西博物馆

山西的票号日昇昌
山西的票号日昇昌

皇城相府

周一在高平玩了一天。参观皇城相府和司徒小镇。

皇城相府是康熙老师陈廷敬的府阺,景区除相府外,也包括整个陈氏家族建筑群。跟江南古镇非常不同,没有水系,更像个「城」,有城墙,练兵场,甚至避难楼。

皇城相府城墙
皇城相府城墙

远处高楼是避难楼,无门,只能爬上去,可容800人
远处高楼是避难楼,无门,只能爬上去,可容800人

避难楼地下,水井和粮食加工工具
避难楼地下,水井和粮食加工工具

陈廷敬是康熙字典主编之一,所以有一个字典博物馆
陈廷敬是康熙字典主编之一,所以有一个字典博物馆

司徒小镇

司徒小镇有各种表演,全是凑数的,不怎么好看。只有打铁花值得一看,只看打铁花也值了。

第一看打铁花,照片拍出来不怎么样,凑合着看,现场真的非常精彩。