零成本搭建全栈应用可用的免费服务
我在制作一些个人兴趣或者非商用的项目时发现,这些应用对于系统的用量/性能没有太多的要求,一些互联网组织/公司提供的免费服务完全可以覆盖我们的需求。
目标是薅羊毛0成本完成系统的部署/运维,并且要尽可能的简单方便!
这里我对自己使用过的各类免费服务做一些简单的整理和推荐:
1. 静态网站 / 文档
GitHub Pages
GitHub Pages 是 GitHub 自带的免费静态网站托管服务,只需把 HTML/CSS/JS 或 Jekyll 源码推到仓库,即可自动生成并发布网站,默认使用Github的域名。每个仓库 1 GB 空间,每月 100 GB 流量。
优点是可以和Git功能完美契合,可以部署指定分支,配置推送时触发自动部署。并且服务稳定。Github支持配置Job来完成一些触发任务或者定时任务用于一些特定场景的功能。使用Vue/Angular一类前端框架的项目也可以通过本地静态化Build之后推送到对应分值的方式进行部署。GitHub Page也提供各种模板快速创建项目,十分方便。
缺点是由于Github的域在国内访问比较缓慢,部分地区或者网络运营商的用户可能没法正常访问网站。(但是相对的海外用户可以稳定访问)
GitLab也有提供类似的Page服务,但是自动化配置没有Github的方便,CI/CD不太舒适。
Netlify
Netlify 是一个静态网站托管平台。把代码推到 GitHub/GitLab,它自动构建、部署并配好 CDN、HTTPS 和预览链接。每月送 100 GB 流量和 300 分钟构建时长,支持大多数现代前端框架。
优点是可以和Gihub的触发器完全联动自动部署,并且是云端构建的,不需要在本地构建。
缺点是国内部分地区或者网络运营商的用户可能访问比较缓慢。
Vercel
Vercel 是 Next.js 团队打造的云平台。把代码推到 GitHub,它自动构建、部署,并配好全球 CDN、HTTPS 和预览环境;支持静态站点,也能用 Serverless Functions 跑 Node.js、Python 等后端逻辑。免费额度每月 100 GB 流量、10 万次函数调用。
优缺点同Netlify。
Cloudflare
<script src="https://cdnjs.cloudflare.com/…">
加载 jQuery、React、Font Awesome 等热门库,全球缓存,自动同步最新版。比大多数第三方库要快一些。帽子云
2. Docker / 后端服务
Render
ClawCloud
提供免费的容器服务,Github半年以上的用户每月有5美元额度。适当控制服务器的配置可以把成本控制在每月5美元以内,即完成白嫖。支持服务暂停不计费。实测下来跑4~5个算力和内存要求不高的应用都不是问题,大多数时候是内存瓶颈了但是CPU还有富余。
容器配置最多支持4vCPU / 8GB mem / 10GB disk,可以随时调整配置和设置动态配置。支持持久化储存在容器挂载,应用重启后不会丢数据。
可以配置多个不同类型端口,端口会自动分配并且映射到域名。
除此之外也提供免费的虚拟机环境,数据库服务,但是这些服务收费略高很容易超出限额,所以不推荐。
优点是有自家应用商店可以通过模板一键部署Alist、WordPress、MySQL、Dify 等容器。
缺点是由于需要控制成本在限额内,很多性能要求略高的应用容易超出限额就不能考虑了。从GitHub上部署和CI/CD的配置也比较麻烦。
3. 数据库
Supabase
可以看成开源版 Firebase,给免费用户提供 500 MB 的 PostgreSQL数据库服务,每日 200 MB 数据库带宽。提供 50 MB 文件存储量。支持实时订阅,支持认证服务,支持Edge Functions。
优点是有现成的API服务,对于每个表有CRUD的REST/GraphQL API可以使用,同时API操作支持行级安全策略,自带用户管理和认证服务。储存桶也可以用API交互。对于一些弱后端逻辑的应用场景这一套API完全够用了。也支持使用ODBC/JDBC方式连接,有对外部网络开放的普通连接/池化链接的URL,可以很好的和其他应用交互。
缺点有一些:
1.Supabase自带有很多功能扩展插件,但是通过他们的一键配置很容易把数据库搞坏了,他们团队对于免费用户的工单不怎么响应的,所以前列不建议使用它们的一些特色化服务或者实验性功能。
2.Supabase版本更新比较快,免费服务协议也经常更新,每个版本之间API的格式会有些微不同,如果应用要从不同版本的Supabase做切换,需要适当调整代码。
建议是仅仅使用PostgreSQL/文件存储+API的基础功能,同时尽量不要折腾数据,做数据迁移最好用第三方工具来导出。
国内有memfireDB提供类似的服务收费也很便宜可以考虑。
LeanCloud
免费 1 GB Mongo 数据库,每日 10 K 次 API,可秒开用户系统、推送、云函数。
优点是稳定,国内访问迅速,缺点是只有API交互方式,没法很好和应用集成,自己通过API实现交互方式有点蹩脚。
Sqlhub
wsfdb.cn
提供免费的MySQL服务,可以创建多个数据库,每个链接只支持操作单个数据库,存储只有5MB。他们也提供SVN服务。
呃只能说勉强能存,但是存不了太多——我们确实是没花钱就存了东西。
这种提供小额单数据库免费MySQL服务的站点其实挺多的,作为免费用户我不太敢用,因为说不定什么时候这项免费服务就被关停了。但是如果你的项目不太有这方面的顾虑而且你有做好定期备份的话,那很OK,这些国内数据库站点访问也挺稳定的。
4. 对象存储 / CDN
Cloudflare R2
Supabase Bucket
支持S3,也可以使用Supabase自己的API方式操作,最近他们好像逐渐转用S3而不再用原本的API了。
5. FTP服务
DriveHQ
免费版5GB云存储,1GB FTP/SFTP 空间,需客户端或 WebDAV/FTP 上传。
优点是可在线管理,支持外链分享,也能直接托管静态网页或当网盘镜像。
缺点是免费用户只能支持单个连接,每次连接之后必须释放,或者空闲超时自动释放,短时间内多次链接会报错不支持。
InfinityFree
永久免费虚拟主机,5GB存储空间,支持FTP方式连接,也有在线工具可以使用。
服务器支持 PHP 8.3 / MySQL 8.0(数据库不支持外部连接),可绑定自有域名或用免费子域名,单账号最多建 3 个站点,有应用商店可以使用脚本安装器安装各种PHP应用,每天限 5 万次请求。