不知周之梦为胡蝶与,胡蝶之梦为周与?
前言
自从 GitHub Pages 推出之后,各种云服务厂商也陆续推出或宣传自己的部署服务,其中比较有代表性的是 Cloudflare、Render、Vercel、Netlify 和 Zeabur。这几家都提供免费套餐;本文主要比较它们免费套餐下的中国大陆访问时延和使用体验,供以后选择或升级时参考。 不过需要注意的是大多数服务商都只提供静态网页的托管,如果需要托管WordPress之类的PHP动态网页博客,部分则需付费并且设置较繁琐,其最简单的方法就是购买VPS服务器
IMPORTANT本文时效性极强,部分服务可能会在阅读时修改服务政策或价格,注意审慎阅读
由于法律法规问题,上述服务除ZeaBur外所有的服务商提供的域名均不可用于中国大陆地区,如果在中国大陆需要使用其他服务商,请购买域名或干脆直接买域名后直接ICP备案
注意:由于法律法规因素,在中国大陆部署的服务必须遵循工信部ICP备案方法和公安备案
如使用自定义域名,需要在DNS提供商设置CNAME(通常是这样的)来指向提供的域名
GitHub Pages
部署流程
NOTEGitHub Pages提供了针对项目Pages和个人的Pages,这里介绍后者,因为其部署流程简单,更易于访问
链接最短,懒人福利
- 注册 GitHub 账户 注册链接
- 创建一个新的存储库(名为{yourusername}.github.io)
yourusername替换成第一步所输入的用户名,快速跳转 - 如果使用 GitHub Free,Pages 源仓库需要设为 Public;GitHub Pro、Team 等套餐也支持从私有仓库发布。发布的网站默认仍可被公众访问。
- 提交代码,等待GitHub自动构建
- 访问{yourusername}.github.io查看效果
TIPGitHub提交代码的方式有多种,如GitHub Desktop,Git Bash和浏览器直接上传等
如果不熟悉命令行Git,可使用图形化且较简单的GitHub桌面应用程序,GitHub Desktop下载地址
效果
由于众所周知的原因,GitHub在中国大陆几乎受到了全端口阻断
在测试中,中国大陆测试节点的平均时延为100ms,此结果并不代表实际情况,网络可能会受到当地ISP的限制或其他因素的干扰
GitHub Pages 只提供纯静态网页托管。GitHub Free 用户需要公开源仓库;付费套餐支持从私有仓库发布,但网站默认仍对公众开放。如果你不希望公开网站内容,GitHub Pages 不适合直接满足这个需求,可以考虑下文的其他服务商。
GitHub Free 每月包含 2,000 分钟 GitHub Actions 用量(公开仓库的标准 GitHub-hosted runner 用量免费;Pages 构建也免费)。Pages 单次部署超过 10 分钟会超时;每月 100 GB 是软带宽限制,每小时 10 次是软构建限制,而且不适用于自定义 GitHub Actions 工作流。每个账户最多有一个个人或组织站点;项目站点每个仓库最多一个,发布站点大小不超过 1 GB。具体限制见上方官方说明。
Cloudflare Pages
IMPORTANTCloudflare实际提供了两种方式(Workers和Pages),下文主要侧重Pages,为了公平性将不会在此文介绍Workers,
其实是部署失败不想再试了
Cloudflare作为赛博大善人,Pages给出来的额度说多不多说少不少,如果单从次数看,Cloudflare免费给的次数才500次每月,但是最长可以部署20分钟,乘起来就是500*20=10000分钟,如果项目比较复杂,编译部署时间长,可以使用Cloudflare进行部署
Cloudflare Pages
怎么说呢,其实这个在官方眼中已经过时了,但是 Pages 其实还是最简单快速的方式,预设了 Astro 等快速部署,对于不会部署命令的(会使用 Astro 的人应该没有不会命令行的吧)Pages 更适合你。纯静态资源请求免费且不限量;如果使用 Pages Functions,请求会计入 Workers 的用量额度,不能和静态资源请求混为一谈。
鱼和熊掌不可得兼,要么同Github按时间方式计算部署,要么就是按次数进行构建,500/30=16.67,一天可以部署16次!除非你是改一个字Push一次,其他还是够用的
如何使用Cloudflare Pages
同上文Github仓库操作,跳转到Cloudflare仪表盘,点击计算和AI中的Workers 和 Pages,单击蓝色的创建应用程序,使用Pages而非Workers构建你在Github学来并且建立的上传过文件的仓库,Cloudflare不像Github对文件总大小做出限制,但是对单个大小数量做出限制,要求文件数量《=20000,每个文件最大不超过25MiB
NOTE如果找不到Pages界面,在创建新的应用程序项目下有“Looking to deploy Pages? Get started”这一行小字,点进去就是Pages的创建界面
如果你使用了知名度比较高的网站创建框架(如Astro),可以在框架预设里面找到你使用框架的名字主题不是框架名,这就是Pages为什么比较便利的原因,因为Cloudflare已经内置好你使用框架的构建命令和输出目录,点击保存并部署便可将你的网站部署到全球CDN上,在设置界面你可以添加自定义域名和设置高级项目,Cloudflare提供的pages.dev后缀域名不出所料的无法访问,如果采用此方法进行网站的上线,请使用自定义域名进行CNAME指向
上册总结表格(官方额度以链接页面为准):
| 项目 | GitHub Pages | Cloudflare Pages |
|---|---|---|
| 是否有免费套餐 | 有(GitHub Free 需使用公开仓库) | 有(Free) |
| 构建额度 | 单次最多 10 分钟;软限制为每小时 10 次,自定义 Actions 工作流不受该频率限制 | 每月 500 次;单次最多 20 分钟 |
| 站点/文件数量 | 每账户最多 1 个个人或组织站点;每个仓库最多 1 个项目站点 | 每账户最多 100 个项目;每站最多 20,000 个文件 |
| 发布文件大小 | 每个发布站点最多 1 GB | 单个资源最多 25 MiB |
| 带宽/请求 | 每月 100 GB 软带宽限制,且可能触发速率限制 | 静态资源请求免费且不限量;Functions 请求计入 Workers 用量 |
| 全球访问速度(个人测试) | 慢 | 快 |
| 操作难易程度(0-5 分,个人评价) | 3 | 1 |
| 自定义构建流程 | 支持 GitHub Actions | 支持 Git 集成和 Wrangler |
| 官方说明 | 使用限制 | 使用限制、Functions 计费 |
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时