使用 vercel 免费部署 node 后端使用免费的平台部署小型的 node 后端服务,由于 render 添加了很多
render 问题描述
去年分享了个《使用 render.com 免费部署 springboot 项目》的文章,当时对比了 heroku、fly.io和 render 这三个平台,render 表现很好。可能是 render 的羊毛被大家薅得受不了了,现在后端项目加了很多的限制
- 如果不经常访问,那么你的这个后端项目就会休眠,再次唤醒需要一定的时间
- 每个月有时间上限
实际体验下来,休眠了之后想要再次唤醒,基本上不可能。。。我一般只能重新 deploy 一下
折腾
这个难不倒我,我找到了一个定时发起访问的免费服务 https://console.cron-job.org/
,这里建立一个每 15 分钟访问一次的定时任务,这样就可以保持后端服务的活跃了
结果运行下来之后,发现最后还是没办法保持后端服务的活跃,频频休眠,基本上无法使用的状态,render
想要让我升级。
使用 vercel
没有办法之后,想起了免费的服务商 vercel
,一般用来部署前端项目,也支持 nextjs
这种需要 node 运行的前端项目。想到既然支持nextjs
,应该也可以支持其他 node 项目啊,所以去搜了搜是否支持 nestjs
项目,答案是可以的
默认的nestjs
项目是不能直接部署的,需要在 nestjs
项目根目录下,添加vercel.json
配置文件,写上以下内容:
{
"version": 2,
"builds": [
{
"src": "src/main.ts",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "src/main.ts",
"methods": ["GET", "POST", "PUT", "PATCH", "DELETE"]
}
]
}
项目放在 github 上面后,就可以在 vercel
上面进行部署了,这时候项目的图片显示的是 vercel
的标识
这个也可以连接数据库或者其他的云服务,非常完美,并且不会休眠,想要云数据库可以看我以前的分享。
分享个最简单的示例源码
转载自:https://juejin.cn/post/7410760487812415488