最近,腾讯云国际站推出了EdgeOne(EO)服务的免费试用,该服务主打无限流量和无限请求数,专注于网站安全加速。作为一名博客作者,我立即进行了试用。对于国内服务器来说,加速效果自然不必多说;而对于境外服务器搭配EO,国内访问速度也提升显著。这让我考虑将分散在各地的博客图片、静态文件和视频资源整合到一起,统一使用EO进行加速。
问题突现:Hexo构建异常
在修改好需要加速的静态文件链接后,我像往常一样提交到GitHub仓库,通过GitHub Action自动构建并部署到VPS及腾讯云对象存储COS。然而,当打开新构建的Hexo页面时,却大吃一惊——页面一片空白,index.html文件大小竟然为0 KB。
这套自动发布Hexo博客的流程我已经使用了两年多,从未遇到过类似问题。更令人困惑的是,GitHub Action构建过程中没有任何异常日志,显示静态文件生成成功,并顺利部署到VPS和COS。折腾许久仍无头绪,甚至考虑更换Hexo主题。
追溯根源:Node版本兼容性问题
在问题出现前,已有警示信号。我当前使用的Hexo主题——minos,其作者早已停止更新,仓库已被归档。早期在本地构建博客时,采用的Node版本较旧,导致后来在使用Serverless服务或GitHub Action时,必须指定Node版本低于14.x,否则必然报错。这次问题很可能与Node版本有关。
通过查询资料和咨询AI,确认了Node版本兼容性的可能性。于是,我将仓库重新拉取到本地,重新部署Node环境并安装npm插件,经过一番调试,终于成功解决。以下是关键环境信息:
- Hexo: 6.3.0(主题支持的最高版本,更新版本会报错)
- 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的限制,之前无法使用的某些Serverless服务(如Vercel和EdgeOne Pages)现在可以正常使用了。鉴于正在试用腾讯云免费版EO,这次决定将Hexo完全托管于EdgeOne Pages,暂时不再依赖VPS和COS。由于域名已备案,EdgeOne Pages可以使用国内节点,访问速度优异,且无需担心流量问题。
免费版EO优势
腾讯云EO免费版提供不限量的加速流量和请求数,立即吸引了我的注意。为了提升博客加载速度,我的博客图片、静态文件和视频资源与主站分离。出于对流量的担忧,这些资源分散在各地,分别套用CDN,并采取防盗刷、图片瘦身等策略,最后使用alist(近期陷入收购风波,OpenList可完全替代)进行集中管理。
试用后,EO的访问速度完全满足小博客对静态资源加载的需求。既然EO承诺不限流量和请求数,我考虑将分散的资源全部整合到一台VPS,并套用EO加速。恰逢netcup月末活动,我购入了一台4核(AMD EPYC™ 9634)、8G内存、320GB SSD硬盘的VDS,用作静态资源服务器。
期望腾讯云能信守承诺,保持EO免费版规格稳定,长期免费使用。
Apaxy:简洁的文件目录列表解决方案
在博客早期文章中,我曾介绍过多个在线共享文档和文件列表程序,其中alist(现为OpenList)是我一直使用的工具,博客中的许多音频和视频通过其分享。但由于原始存储资源的网盘带宽限制,alist分享的资源加载速度不佳。现在利用EO CDN加速,无需再通过alist集中管理和转发,文件可直接链接访问。
发现Apaxy这款基于Apache的文件目录列表程序,能通过Web页面直观展示目录下的所有文件,支持直接打开、访问和下载。这正好符合我的需求。于是,我在新购的netcup服务器上安装Apache,将所有博客相关静态文件迁移至此,配置好Apaxy,并套用EO CDN,一个简洁直观的文件列表便呈现出来。修改博客中的相关静态文件链接后,便出现了文章开头所述的Hexo博客问题。
博客静态文件分享目录:
(博客中提到的文件、分享的资料、参考的研究文献、音视频等均可在此目录中找到并下载!)
最后,附上一段曾在博客中引用的视频(来源:博文《台北故宫“镇馆三宝”——北宋巨碑式山水画》),文件稍大,欢迎大家多次播放以验证腾讯云EdgeOne的性能表现。