1.这里先说下下我的公网服务器配置历史
最开始我是使用阿里云的域名+腾讯云的2核2G服务器,主要是有ipv 4,我也不用向运营商申请(虽然现在很难申请到),很适合我们这种隔一段时间就会换城市的人。当时价格算上新人优惠500块3年。
只是我日常使用这台云主机的时候很不爽,内存很小,vscode ssh连接上的话就会爆内存,导致我搭建个人网站十分难受,没有可视化开发环境真的很难受。
最近也快过期了,就寻思着续费,一看如果内存要比较大的话,年费用上千,而且没法自由加减配置,我只想要内存大,不想要强cpu。
2.现在我的方案就是使用一个小主机 + 自建内网穿透
我买的是下面这一个,准系统,极摩客G3 plus,没有内存条和硬盘。

到这里,我们还是没法在外网访问我们的服务,我就去找了找内网穿透。网上有人用 cloudflare 做隧道,胜在免费;我一开始用的是国内的 cpolar,免费版不能绑自己的域名,就开了专业版,149 一年。平时自己用还行,但 3Mbps 的带宽摆在那,图片一多就慢。后来干脆换了方案:在阿里云买一台弹性 ECS,自己搭 frp内网穿透。带宽按需调,费用按流量走,比固定 3Mbps 舒服不少。
frp 不复杂,分两头:frps 跑在有公网 IP 的 ECS 上,frpc 跑在家里的小主机上。frpc 主动连 frps,所以小主机不用公网 IP,也不用在路由器上做端口映射。这样一来,访问路径大概是:你的域名 -> 阿里云 CDN(可选)-> ECS 上的 frps -> 小主机的服务。
现在我在外面用 vscode ssh 连回小主机,跟局域网里差不多,挺方便🎉
3.(可选)网站加速服务配置(阿里云CDN)
3.1为什么要配置CDN
上述方案已经能够对外提供服务了,包括但不限于网盘、ssh、网站等。
但我们希望访客在访问我们的网站时加载速度快点,毕竟小主机的上行带宽有限,如果所有流量都要从我们的主机发出的话,加载图片会很慢。我们自己用的话对即时性要求还不那么高,但要是面向用户的话,一秒看不到页面内容直接就走了。
这里我使用的是阿里云家的CDN服务,他们家有一个新人礼包,50G、一年有效期的CDN下行流量,但是比较坑的是,他这个流量不包含Https访问,这个另外计费。费用详情:阿里云CDN计费链接
这里我截取了阿里云在各个地区按量计费的流量价格,可以点击展开:
点击展开:截取按量计费表格
按流量计费说明:按各大区流量(从CDN L1节点流出的下行流量,单位GB)阶梯价格计费,当月按账户维度进行阶梯累进(以自然月为一个累计周期)。
可以看到内地流量大概0.24/GB(新人一年50GB免费额度),HTTPs 0.05元/万次。我们网站访问量比较小,这个流量费用忽略不计
3.2 如何配置阿里云CDN
进入阿里云CDN域名控制台:

点击“添加域名”

区域我选“仅中国内地”,因为我的是简中网站。域名填自己的域名,我这里是a.amfe.space(你要填自己的域名,不要跟我一样)不带协议。业务类型是图片小文件。然后点击蓝色按钮“新增源站信息”,会出现下图内容:

因为现在源站是我自己的 frps,有固定的公网 IP,所以直接填 ECS 的公网 IP 就行;如果你用域名,就填解析到 ECS 的那个域名
点击确认后点击下一步,来到:

点击红色箭头所指的DNS配置向导,自行在自己的域名解析服务商处将域名解析到CNAME记录值。这个不展开了。
等几分钟,应该能够通过的自己的域名访问网站了,流量路径应该是:
your.domain -> 阿里云CDN节点 -> 阿里云ECS上的frps ->你的物理主机
4.费用计算
最后的开销是主机购买600+阿里云ECS和流量的费用每年100左右+域名年费用50块。ECS 的带宽我选的是按流量计费,流量小的时候花不了多少;同样性能的云服务器每年都差不多小一千,这个方案只有第一年买硬件能花几百块,后续主要是 ECS 的带宽/流量和域名费用。