如何部署全栈 node.js 项目
How to deploy a full-stack node.js project
我有一个全栈 node.js 项目,但我不知道部署它的最佳做法是什么。
先了解一些信息:
该应用程序包括:
- 一个next.js前端
- 一个redis缓存
- 一个 postgres sql
- 和一个node.js后端
部署应该不会花费太多,因为它是一个业余项目。
目前(作为开发环境)我在前端使用vercel,在后端使用我自己的虚拟机
但是,我想部署所有内容,例如一个应用程序引擎(即没有太多配置和自动缩放)
我只是不知道最好的提供商是什么,因为有很多服务,例如gcp 云 运行、gcp app engine standart、app engine flex、firebase 托管、gcp 云计算、所有 aws 服务等等...
我更喜欢 docker-compose,例如,在 google 云平台上,具有 app-engine/cloud 运行 的所有优点,即配置少,自动缩放而且不太贵,因为这只是一个业余爱好项目。我希望这样的事情是可能的。 (我不是说我不想付任何钱,而是说一个月20-50美元有点贵)
我去过那里,GCP 和 AWS 以及其他云提供商一开始可能会让人不知所措。服务如此之多,有时很难理解其中的区别。
让我们先尝试简化:您需要单独的 NodeJS 后端吗?如果这是一个业余爱好项目,例如 NextJS API routes are enough. This would simplify your stack greatly, because you could deploy everything in a single service on Cloud Run (front + back). API routes aren't as powerful as NestJS,但可以让你走得很远。
然后是云 运行 与 App Engine 的辩论。尽管 App Engine 仍然由 Google 积极维护,但许多人认为 Cloud Run is the future. App Engine is for deploying code, Cloud Run for deploying containers, and containers are eating the world. App Engine was one of GCP's first offering and has many hidden features 会咬你。不过选择你喜欢的。
然后,为了坚持,又是那么多选择。也许这个决策树可以帮助:
个人意见:KISS,与旧 SQL 一起去:Google Cloud SQL 与 Postgres。您可以非常简单地 connect a Cloud Run service to a Cloud SQL instance.
最后,网上有很多教程讲解如何在云端部署NextJS 运行。你应该找到你想要的。
祝你好运!
我有一个全栈 node.js 项目,但我不知道部署它的最佳做法是什么。
先了解一些信息: 该应用程序包括:
- 一个next.js前端
- 一个redis缓存
- 一个 postgres sql
- 和一个node.js后端
部署应该不会花费太多,因为它是一个业余项目。
目前(作为开发环境)我在前端使用vercel,在后端使用我自己的虚拟机
但是,我想部署所有内容,例如一个应用程序引擎(即没有太多配置和自动缩放)
我只是不知道最好的提供商是什么,因为有很多服务,例如gcp 云 运行、gcp app engine standart、app engine flex、firebase 托管、gcp 云计算、所有 aws 服务等等...
我更喜欢 docker-compose,例如,在 google 云平台上,具有 app-engine/cloud 运行 的所有优点,即配置少,自动缩放而且不太贵,因为这只是一个业余爱好项目。我希望这样的事情是可能的。 (我不是说我不想付任何钱,而是说一个月20-50美元有点贵)
我去过那里,GCP 和 AWS 以及其他云提供商一开始可能会让人不知所措。服务如此之多,有时很难理解其中的区别。
让我们先尝试简化:您需要单独的 NodeJS 后端吗?如果这是一个业余爱好项目,例如 NextJS API routes are enough. This would simplify your stack greatly, because you could deploy everything in a single service on Cloud Run (front + back). API routes aren't as powerful as NestJS,但可以让你走得很远。
然后是云 运行 与 App Engine 的辩论。尽管 App Engine 仍然由 Google 积极维护,但许多人认为 Cloud Run is the future. App Engine is for deploying code, Cloud Run for deploying containers, and containers are eating the world. App Engine was one of GCP's first offering and has many hidden features 会咬你。不过选择你喜欢的。
然后,为了坚持,又是那么多选择。也许这个决策树可以帮助:
最后,网上有很多教程讲解如何在云端部署NextJS 运行。你应该找到你想要的。
祝你好运!