likes
comments
collection
share

使用 vercel 免费部署 node 后端使用免费的平台部署小型的 node 后端服务,由于 render 添加了很多

作者站长头像
站长
· 阅读数 20

render 问题描述

去年分享了个《使用 render.com 免费部署 springboot 项目》的文章,当时对比了 heroku、fly.io和 render 这三个平台,render 表现很好。可能是 render 的羊毛被大家薅得受不了了,现在后端项目加了很多的限制

  1. 如果不经常访问,那么你的这个后端项目就会休眠,再次唤醒需要一定的时间
  2. 每个月有时间上限

实际体验下来,休眠了之后想要再次唤醒,基本上不可能。。。我一般只能重新 deploy 一下

折腾

这个难不倒我,我找到了一个定时发起访问的免费服务 https://console.cron-job.org/ ,这里建立一个每 15 分钟访问一次的定时任务,这样就可以保持后端服务的活跃了

使用 vercel 免费部署 node 后端使用免费的平台部署小型的 node 后端服务,由于 render 添加了很多

结果运行下来之后,发现最后还是没办法保持后端服务的活跃,频频休眠,基本上无法使用的状态,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 的标识

使用 vercel 免费部署 node 后端使用免费的平台部署小型的 node 后端服务,由于 render 添加了很多

这个也可以连接数据库或者其他的云服务,非常完美,并且不会休眠,想要云数据库可以看我以前的分享。

分享个最简单的示例源码

转载自:https://juejin.cn/post/7410760487812415488
评论
请登录