腾讯云国际站最近推出免费试用,内测的网站安全加速服务–EdgeOne(EO),主打无限流量和无限请求数。很吸引人,马上试用了。国内服务器就不用说了,境外服务器配上 EO,国内访问加速也很不错。考虑把博客中分散各地的图片,静态文件,视频等收拢到一起,然后统一用 EO 加速。
修改好需要加速的静态文件连接,像往常一样,改完,提交到Github仓库,然后Github action自动构建,deploy 到 VPS 以及腾讯云的对象存储 COS(通过GitHub Action将博客网站等静态文件同步到云服务器)。打开网页,结果大吃一惊,新构建生成的 hexo 页面打开居然一片空白,index.html 文件大小居然是 0 KB。
这一惊吓着实不小,我用这套自动发布更新 hexo 博客的流程已经两年多时间,从没有碰到过这样的问题。
hexo博客发布流程
最近折腾Obsidian及hexo 一文。
更严重的是,Github action 构建过程中没有异常。日志显示 hexo 静态文件是成功生成了的,也成功 deploy 到了我设定好的 VPS和 COS,日志里没显示出一点问题。折腾半天,毫无头绪,最后甚至考虑放弃,准备更换一个新的 hexo theme。
这一切之前已经有警示。我目前使用的这个 hexo theme–minos,作者早就停止更新,仓库已经 archived 了。我早期在本地构建这个 hexo 博客,然后提交到 github 时,采用的 node 版本很旧,导致后来无论是用serverless服务,还是 github action 时,都需要指定 node 版本低于 14.x(从Vercel迁移到Netlify,EdgeOne同学帮助解决成功部署到EO pages),否则必然报错。这次会不会与 node 版本有关。问了百度以及 AI,可能真与 node 版本有关。
于是把仓库重新拉到本地,重新部署 node 环境,安装 npm 插件,debug 一番,居然成功。这里记录下一些重要信息。
hexo: 6.3.0(主题能支持的最新hexo版本,更新版本的会报错)
hexo-cli: 4.3.2
node: 22.17.0需要的一些npm插件
cheerio@1.1.0
hexo-auto-excerpt@1.1.2
hexo-blog-encrypt@3.1.9
hexo-generator-archive@2.0.0
hexo-generator-category@2.0.0
hexo-generator-feed@3.0.0
hexo-generator-index@4.0.0
hexo-generator-tag@2.0.0
hexo-log@4.1.0
hexo-renderer-ejs@2.0.0
hexo-renderer-marked@7.0.1
hexo-renderer-sass@0.5.0
hexo-renderer-stylus@3.0.1
hexo-renderer-swig@2.0.0
hexo-server@3.0.0
hexo@6.3.0
lodash@4.17.21
EdgeOne
本地重新构建hexo,顺手把 node 升级到比较新的 22.x。之前因为 node 版本太旧,托管 hexo 时不能用的某些serverless服务现在可以正常使用了,比如 Vercel 以及 EdgeOne Pages。因为在试用腾讯云免费版的 EO,这次把 hexo 完全托管于 EdgeOne Pages,暂时不用VPS和COS了。因为域名备案了,EdgeOne Pages 能使用国内节点,速度很好,当然也没有流量焦虑。
说回免费版的 EO。早前,阿里云国际站推出免费的 ESA (Edge Security Acceleration边缘安全加速。原全站加速 DCDN)服务不久,作为竞品的腾讯云国际站的 EO 也推出了个人免费套餐。无论是 ESA还是 EO,其实质就是用来加速和保护网站的互联网流量,其服务及功能在各自产品线里早已有之,二者对标的是大名鼎鼎的赛博大善人 Cloudflare 的核心业务。
腾讯云 EO免费版套餐包提供的加速流量不限量,加速请求不限量,马上吸引了我。为了加快博客打开速度,我的博客图片,静态文件,视频等与主站是分离的。因为担忧流量被刷,请求数等问题,这些静态资源分散各地,分别套 CDN,加上各种防盗刷,图片文件瘦身等策略,最后用 alist(alist最近陷入被收购风波,OpenList能完全替代之)集中管理这些文件。
试用之后,EO 的访问速度能完全满足我这个小博客对静态资源加载的需求。EO 既然承诺不限流量,不限请求数,考虑把分散各地的静态文件全都归拢在一起,放入一台 VPS,然后套 EO 加速。正巧 netcup 月末活动,购入一台 4C(AMD EPYC™ 9634)8G 320GB SSD硬盘的VDS,用作静态资源服务器。
期望腾讯云不要违背承诺,EO 免费版规格规则不会变化,能长久免费稳定使用下去。
Apaxy
在博客早期文章中,我曾介绍过 几个在线共享文档,文件的web程序 以及 几个网盘文件列表程序,其中 alist(现在是OpenList)是我一直在用的,博客中很多音频,视频均是通过 alist 分享出来的,但由于原本存储资源的网盘宽带下载速度所限,alist分享出来的资源加载速度不好。这次能使用 EO cdn加速,没必要再用 alist 集中管理然后转发,文件直连就行了。
发现了这款程序–Apaxy,基于 Apache 的文件目录列表,能通过 web 页面展示罗列出目录下所有文件,可以直接打开,访问下载等。直观直接,正符合我的需求。于是给前述新购的 netcup 服务器安装 Apache,把博客有关的所有静态文件全部迁入,设置好 Apaxy,套上 EO cdn,一个简洁直观的文件列表出现了。修改好博客里的相关静态文件链接,于是文章开头,hexo 博客出问题的一幕出现了。
博客静态文件分享目录:https://dl.jiangyu.org
(博客里提到的文件,分享的资料,参考的研究文献,音视频等均可以在这个文件目录里找到,访问,下载!)
最后放一段曾经在博客里引用过的视频(来源:博文《台北故宫“镇馆三宝”–北宋巨碑式山水画》),视频文件稍微有点大,大家可以多播放试试,验证下腾讯云 EdgeOne 的性能到底如何。
评论