当前位置: 首页 > 知识库问答 >
问题:

如何部署全栈node.js项目

张瀚漠
2023-03-14

我有一个全栈node.js项目,我不知道部署它的最佳实践是什么。

首先提供一些信息:应用程序包括:

  • 下一个。js前端
  • redis缓存
  • postgres sql
  • 和节点。js后端

部署不应该花费太多,因为这是一个爱好项目。

目前(作为开发环境),我使用vercel作为前端,我自己的vm作为后端

然而,我想在应用引擎中部署一切(即没有太多的配置和自动扩展)

我只是不知道最好的提供商是什么,因为有很多服务,例如gcp云运行,gcp应用程序引擎标准,应用程序引擎灵活性,火库托管,gcp云计算,所有aws服务等等...

例如,我更喜欢谷歌云平台上的docker-compose,它具有应用程序引擎/云运行的所有优势,即小配置、自动扩展和不太昂贵,因为它只是一个爱好项目。我希望这样的事情是可能的。(我不是说我不想支付任何费用,但例如,每月20美元-50美元有点贵)

共有1个答案

席兴朝
2023-03-14

我曾经去过那里,GCP和AWS以及其他云服务提供商一开始可能会让人望而却步。有这么多的服务,有时很难理解它们之间的区别。

让我们先试着简化一下:你需要一个单独的NodeJS后端吗?如果这是一个爱好项目,也许NextJS应用编程接口路由就足够了。这将大大简化你的堆栈,因为你可以在云运行(前后端)上将所有内容部署在一个服务中。例如,应用编程接口路由不如NestJS强大,但可以让你走得很远。

然后是云运行与应用引擎的争论。尽管谷歌仍然积极维护应用引擎,但许多人认为Cloud Run是未来。应用引擎用于部署代码,云运行用于部署容器,容器正在吞噬世界。应用程序引擎是GCP的首批产品之一,具有许多隐藏的功能,可以咬你。选择你喜欢的。

最后,网上有很多教程解释了如何在Cloud Run上部署NextJS。你应该找到你想要的。

祝你好运!

 类似资料:
  • nodejs使用thinkjs开发的项目docker-compose部署失败 我在用docker-compose部署一个node.js项目时遇见的无法部署,该项目之前使用pm2直接部署在宿主机是可以正常运行的,项目使用了thinkjs框架,下面的是我的docker-compose文件: h5-api是我把node项目解压之后的文件夹,执行docker-compose up -d之后发现容器未启动,

  • 本文向大家介绍利用forever和pm2部署node.js项目过程,包括了利用forever和pm2部署node.js项目过程的使用技巧和注意事项,需要的朋友参考一下 本文主要给大家分享的是利用forever和pm2部署node.js项目过程的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 一、forever forever可以在cmd或ssh连接断开时,让项目一直运行,而且可以在项目崩

  • 我在GitHub上有一个简单的php项目。并且我想建立与竹子的持续集成。 第一步:我已经用“默认作业”设置了“计划”。“默认作业”只有一个任务:源代码签出。 步骤1.1:运行构建之后,我在/users/serhiit/bamboo-agent-home/xml-data/build-dir/locpr-web-job1中看到了源代码。 步骤2:我还设置了“部署”,只有一个任务:清理工作目录任务。

  • 2. 项目部署 本章主要介绍如何部署Camel。 首先,介绍Vagrant这个虚拟机工具。借助Vagrant,我们可以保证本地开发及测试环境与线上环境的一致。 随后介绍slb-admin的部署。管理端本地也要安装Dengine,用以测试Nginx配置文件的语法是否正确。此外,还需要部署数据库:MySQL及MongoDB。 最后介绍Nginx服务器的部署。我们可以根据具体需求部署Nginx集群,每台

  • 描述 本文档提供了 3 种部署方式,对应 Jboot 里的 3 种打包方式。 通过 脚本 运行 在 打包方式 文档中,我们可以把项目打包成一个 .zip 的压缩包项目,里面带有 jboot.sh (和 jboot.bat) 执行脚本, 只需要我们解压 .zip 压缩文件,通过如下命令就可以对 jboot 项目进行启动和停止。 # 启动 ./jboot.sh start # 停止 ./jboot.

  • 部署中,你可以先构建打包生成环境代码,再启动服务。因此,构建和启动分为下面两条命令: next build next start 例如,使用now去部署package.json配置文件如下: { "name": "my-app", "dependencies": { "next": "latest" }, "scripts": { "dev": "next",