近期有一点闲暇时间后,我处理了一些近几个月网络项目出现的问题。这些问题的出现,给使用、维护带来一些不便,不得不进行处理。
图片、代码仓库迁移
由于Github在我们生活的地方被间断性“搅合”,目前已无法正常使用,因此我将图片、代码仓库从GitHub转移至Bitbucket。
图片仓库
我有三个站点有图片存储,分别为本博客、Gitbook、Hexo blog(后文还会讲述后两个项目的问题)。去年,图片均迁移至GitHub,其中本博客的图床接入Netlify(同时接入Vercel作为备用),后两个项目的图片使用jsdelivr CDN。
2022年5月,jsdelivr CDN被“隔离”。2022年6月底,我将三个图片仓库全部迁移至Bitbucket,所有图片均接入Netlify和Vercel,均绑定相应网络项目的二级域名。替换一堆md文件,难于逐个修改,羽忆江南向我推荐了微软公司开发的Visual Studio Code,有中文界面,可对多个文件进行批量查找与替换操作,并自动保存。
由于对图片进行了高强度有损压缩,三个图库占用空间总计只有几十Mb,使用的流量均为Netlify和Vercel流量,因此并不构成滥用。
代码仓库
公开仓库中,除Diary主题依旧放在Gitlab(不是GitHub),其余代码仓库均迁移至Bitbucket。变更后,我发布的三个Typecho主题的下载链接分别为(按发布时间先后顺利排列):
- Diary:https://gitlab.com/linhaii/typecho-diary
- Write:https://bitbucket.org/imlinhai/typecho-theme-write
- Simple:https://bitbucket.org/imlinhai/typecho-theme-simple
私有仓库中,除不再使用的仍放在GitHub,其余的均转移至Bitbucket。
Gitbook由在线编译改为本地编译
Gitbook主程序已不再更新,开发团队已将重心转移至gitbook.com在线文档项目。新版本nodejs对Gitbook程序进行编译时,会出现一个错误:
TypeError: cb.apply is not a function
之前Vercel和Netlify在线编译Gitbook时均不会报错。2021年9月之后我没有更新Gitbook内容,直到最近进行上文所述的操作时自动触发在线编译,才发现两个平台升级nodejs版本后编译Gitbook报错的问题。
网上关于此的讨论非常多,提供的解决方法基本一致,参照这篇文章(互联网档案馆备份:点此查看),需对gitbook-cli使用的node模块进行修改。在线编译平台是无法修改的,因此Gitbook只能选择本地编译的方式。
Gitbook主程序在我们生活的地方早已被“隔离”,表现为:安装过程中,执行gitbook install
时不成功。某软件只针对浏览器和客户端,对“终端”是无法生效的。我需要使用另一种方法:借助已root的安卓手机+一个发射无线中继的软件,该软件可利用root权限发射带有某个信号的无线中继,而且可以在连接Wi-Fi的同时发射无线中继。然后,gitbook成功安装了,以后不再需要使用某软件即可编译和发布。
此次本地编译,我对Gitbook安装了插件,二级目录默认折叠,一键返回顶部,浏览起来更美观更方便。
那么问题来了,我之前用过gitbook.com在线文档,为何现在不用了呢?根据之前的使用经验,有两个原因:第一,从登录页面跳转到后台的链接在我们生活的地方被“隔离”了,表现为输入账号密码或使用第三方账号登录后无法跳转到后台;第二,gitbook.com的CDN在我们生活的地方被间断性“搅合”了,表现为更新文档后在我们生活的地方无法看到新内容,我也说不清需要多久才能正常浏览。
点此查看我的Gitbook项目。2019年开始我解析了由博友赠送的域名liudark.com到Gitbook,并为该项目起名“柳暗”,2022年过期前忘记续费了。当前使用的域名也是2019年注册并解析到“柳暗”的,为eu.org免费域名。由于该免费域名服务非常稳定,所以暂时不准备解析付费域名到此项目。
Hexo blog暂停维护
我的Hexo blog是给身边的人看的,目的是装X。
在GitHub、Gitlab、Bitbucket上传程序主文件,接入Vercel和Netlify即可在线编译,Gitlab自身也可以在线编译。更新时,只需在线上传md文件即可。以Hexo为主的静态博客,持续兼容新版本的nodejs,在线编译一直正常,无需担心。
以Hexo为例(有部分文件是多余的,作为备份没有删除):
以Hexo为主的静态博客,在Vercel和Netlify的推动下,已大大简化了维护过程。但静态博客还有几个缺陷:
如需使用其他评论平台,很多主题需要手动修改代码,这很考验技术,我使用的Cactus主题修改过,以失败告终。使用其他评论平台(如Waline)还要依赖国内公司的国际版存储服务,数据格式是私有化的,注定无法顺利迁移。
近期我建立了用于记录工作的新博客,该博客公开的内容是可以对身边人公开的,如有需要,装X的作用同样可以发挥。因此我决定对Hexo blog暂停维护,所使用的.xyz域名到期后不再续费,届时我会解析一个用于新博客的域名的二级域名过去,让Hexo blog继续存在于互联网上。
自建邮箱出现故障
去年,我使用VPS利用docker+mailu搭建了自己的邮箱,未开启病毒检测。前不久,我发现邮箱一直没收到任何邮件,登录VPS发现硬盘被塞满。经查,问题没有出在mailu,而是出在docker,docker产生了海量的日志,存储在/var/lib/docker/overlay2下,共28G。
网上关于此的讨论中,部分docker程序也有类似问题。他们在文章中叙述的处理方法,并不具体,作为外行人完全看不懂。我试着按这些方法操作,均失败了。于是重新使用由专业的办公套件服务商zoho国际版(international)提供的免费邮件服务(支持imap),没有绑定域名。
当前,我暂时不准备再修复这个问题,因为远超自己的能力范围。
为何不再使用国内类似平台
自本博客重建以来,我用过大概十几个国内的类似平台,现在全部放弃了,其原因多种多样,三言两语难以诉说。之后,我对这句话深有感触:
防祸于先而不致于后伤情。知而慎行,君子不立于危墙之下,焉可等闲视之。——《孟子》
另外,我要声明一个事情:我所建立的任何博客、网站等的评论区永远不会添加IP地址显示和/或IP位置显示。
以上便是近几个月网络项目遇到的问题及处理方法。有很多问题本不该发生,或者本不该变得复杂,但在我们生活的地方,有些事,让我怎么说呢……
文坛上拉满带电的铁丝网,画苑里遍处布雷;笔杆好像炸弹里的撞针,摆弄不好,就会引来杀身之祸。——冯骥才《感谢生活》
40 条回复
感慨颇深
应对起来很无力
主要是国内的一些平台太容易跑路了,就算现在很大的平台,指不定哪天就跑路了,数据没了, 太伤心了。
国内一些平台太容易跑路,是原因之一。其他一些原因都很主要,甚至是一个个隐藏的雷,说不准啥时候就爆了。
不单单是跑路的问题,套路你、不稳定,各种问题都有,大厂都有这种问题,更何况那些小服务商了。
这些我都经历过了。还有就是zc的收紧导致的一系列问题,谁都不可控。
“防祸于先而不致于后伤情。知而慎行,君子不立于危墙之下,焉可等闲视之。”
是呀,所以我基本上会把图片这些放在本地,不传三方图床,太不稳定了。
图片我用腾讯云CDN免费50G额度,博客Hexo用github自动编译,本地传md文件上去就好了,不过我也好久懒得折腾了,没什么时间折腾
github也可以自动编译了吗?那真的太好了。
早就可以咯,你搜下github actions,用了很久了,挺方便的,不管在哪里,只要有个浏览器,上传md文件就好了,有改动会自动帮我编译,简单方便。
那github、gitlab、bitbucket三大金刚都支持了。真不愧是大平台。
国际大站还是值得信赖的,不会轻易倒闭
Hexo在github建立博客,是不是都不用出vps钱?出个域名钱就行
是的,vercel和netlify还自带cdn,每个月100G流量,netlify限制每个月300分钟编译时长,vercel限制每天100次编译(貌似不限制编译时长),足够用了。
我的博客是存在本地上,一直想放在CDN上
vercel和netilfy,强荐。
对于显示IP的态度,跟你高度一致。
握手🤝
看着这么多项目要维护,维护成本不低啊。
其他项目维护时间极少哈哈哈哈,没用多少时间,为处理各种“隔离”转移至替代品的时间都比维护时间多。
我觉得可以将IP归属地随机显示为:美国加利福利亚洲这样的假地址。不晓得有没有类似插件。
我觉得可以选择显示为:月球,火星,海王星……这些宇宙天体,看起来还挺搞笑。
过段时间我使用的VPS就要到期了,我现在在考虑要不要换回到静态博客,这样成本低很多,基本上就是域名的钱了。但正如你说的那样,静态博客有一个很不好的点就是评论这个系统,头痛中。
评论系统的话,在我们生活的地方,唉……
为了减少痛苦,个人建议还是保持wp吧。
数据这种东西还是掌握在自己手上才是最稳的.
没错。