从阿里云被吓到Cloudflare Pages,我的部署踩坑记
卡券工具写完了,接下来就是怎么放到网上让别人能用。我一开始想都没想就准备去买个虚拟主机,后来突然想起来——这玩意儿就是个HTML文件,为什么要花钱买服务器?
踩过的坑
我以前用WordPress搭博客,阿里云服务器一年三百多,到期就得续费,不续就挂。每次面板更新一下、插件多装一个,服务器就告警CPU跑满了。最烦的是上次被黑,挂了个赌博页面,我熬了半宿才清干净。从那以后我对"服务器"这两个字就有心理阴影。
所以这次我打死不碰服务器。试了Vercel,绑自定义域名要信用卡验证,我没有。试了Netlify,免费版构建时间限制太死。最后试了Cloudflare Pages,发现直接拖文件夹上去就完了,域名也是自动解析,因为我主站就在Cloudflare。
真的是拖拽部署
登录Cloudflare,点Pages,直接把整个文件夹拖进去,等个几十秒就好了。绑定子域名codes.webproctools.com,DNS自动配好,SSL自动签发,我甚至没碰过DNS设置页面。这要是以前买服务器,从买服务器、装系统、配Nginx、申请SSL、传文件,没半天搞不定。
缓存策略我调了好几次
一开始我什么都没配,改了文件上线后发现用户还在看旧版本。查了半天才知道是CDN缓存。我在项目根目录放了个_headers文件,把HTML设为不缓存,CSS和图片缓存一周。这样改完内容立即生效,静态资源又能享受加速。这个配置我改了两版才对——第一次把CSS也设成不缓存,结果每次更新样式都要等CDN刷新,太慢。
子域名做多工具站
我现在的计划是主站webproctools.com做博客,子域名放各种工具。codes.webproctools.com是卡券工具,以后还会有别的。每个工具站独立一个Pages项目,互不影响。万一哪个工具写崩了,其他的照常运行。
以前我觉得一个工具站要单独买个服务器,现在发现一个域名加N个子域名就够了,全免费。每年就续个域名的钱。
说点大实话
我不是技术大牛,以前觉得"部署上线"是件很专业的事。现在发现纯静态网站根本不需要什么运维。Cloudflare Pages这种服务就是给我这种人准备的——会写点HTML,不想折腾服务器,又想有个能访问的网站。
唯一要注意的是,别在_headers里写错路径,我第一次配缓存的时候把/*写成了/**,结果所有请求都不缓存,CDN等于白用。这种小错不报错,就是慢,发现的时候已经过了一天。