我在制作一些个人兴趣或者非商用的项目时发现,这些应用对于系统的用量/性能没有太多的要求,一些互联网组织/公司提供的免费服务完全可以覆盖我们的需求。
目标是薅羊毛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
Cloudflare 的前端服务可以把静态站点和边缘函数都托管到离用户最近的节点,性能很快,还能跑代码。把 React/Vue/Hugo 等前端项目推到 GitHub,Pages 服务自动构建并部署到全球 300+ 边缘节点,自带 HTTPS、预览链接和免费 Web Analytics。
在边缘节点能够运行轻量级 JavaScript/TypeScript/WASM,可用来做 API 代理、缓存、重定向,或者直接渲染 HTML(同构 React、Next.js、Astro、SvelteKit 等框架官方支持);
提供CDNJS服务,写前端的时候可以直接 <script src="https://cdnjs.cloudflare.com/...">
加载 jQuery、React、Font Awesome 等热门库,全球缓存,自动同步最新版。比大多数第三方库要快一些。
除外还有一些的别的免费服务,免费域名邮箱转发、R2 对象存储、Workers 之类的。
2. Docker / 后端服务
Render
Render 是一个配置化的云托管平台,支持 Dockerfile、Node、Python、Go、Rust 等原生运行。免费用户每月 750 小时(≈ 单实例整月运行),支持 Git 自动构建、推送即部署。也支持从Docker仓库拉取镜像部署。
优点是会给应用自动分配onrender的域名,自动续期 HTTPS。部署完成后会自动扫描HTTP端口并且映射到域名,不需要手动配置。服务器提供的性能很好,基本足够大多数应用使用。国内大多数地区运营商网络访问render都比较稳定。可以支持自定义配置文件,设置环境变量。
缺点有点多:
1.应用会休眠(针对免费用户),端口15min不活跃则会休眠,休眠后首次访问会苏醒非常缓慢。解决办法是搭配使用cron-job之类的在线定时任务,每十分钟发一个HTTP请求保持应用活跃。
2.实例不能挂载存储,免费用户不能使用Render的持久化储存,应用休眠重启之后会丢失所有内存数据。这对于无状态的应用是不会影响的。如果需要存储信息的话需要使用第三方的数据库/文件存储/对象存储。
3.实例的端口映射只有一个HTTP端口,免费用户的实例只能自动扫描并且暴露一个HTTP端口,如果应用需要配置其他类型网络通信接口,或者需要暴露多个端口,就需要购买会员服务。
除了托管后端服务,Render也提供Page服务,可以用来构建部署页面。KV存储也是免费使用的。这些服务不会因为不活跃休眠。
Render的数据库服务只有15天免费试用,之后需要收费才能使用,数据也拿不出来,不推荐白嫖党用。
ClawCloud
提供免费的容器服务,Github半年以上的用户每月有5美元额度。适当控制服务器的配置可以把成本控制在每月5美元以内,即完成白嫖。支持服务暂停不计费。实测下来跑4~5个算力和内存要求不高的应用都不是问题,大多数时候是内存瓶颈了但是CPU还有富余。
容器配置最多支持4vCPU / 8GB mem / 10GB disk,可以随时调整配置和设置动态配置。支持持久化储存在容器挂载,应用重启后不会丢数据。
可以配置多个不同类型端口,端口会自动分配并且映射到域名。
除此之外也提供免费的虚拟机环境,数据库服务,但是这些服务收费略高很容易超出限额,所以不推荐。
优点是有自家应用商店可以通过模板一键部署Alist、WordPress、MySQL、Dify 等容器。
缺点是由于需要控制成本在限额内,很多性能要求略高的应用容易超出限额就不能考虑了。从GitHub上部署和CI/CD的配置也比较麻烦。
Railway / Fly.io以及一些其他的公司也提供类似的容器托管服务,但是需要用户绑定信用卡才能使用,考虑到大多数国内用户和学生党申请信用卡比较困难所以不做推荐。
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实现交互方式有点蹩脚。
wsfdb.cn
提供免费的MySQL服务,可以创建多个数据库,每个链接只支持操作单个数据库,存储只有5MB。他们也提供SVN服务。
呃只能说勉强能存,但是存不了太多------我们确实是没花钱就存了东西。
这种提供小额单数据库免费MySQL服务的站点其实挺多的,作为免费用户我不太敢用,因为说不定什么时候这项免费服务就被关停了。但是如果你的项目不太有这方面的顾虑而且你有做好定期备份的话,那很OK,这些国内数据库站点访问也挺稳定的。
4. 对象存储 / CDN
Cloudflare R2
S3 兼容的对象存储,10 GB 免费空间 + 零出口流量费,适合图床 / 备份 / 静态资源。
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 万次请求。