我正在开发一个NestJS应用程序,它是Nx monorepo的一部分。我尝试了Vercel,但是它与UI应用程序的部署冲突。Heroku现在付费了。我只是想学习如何部署NestJS应用程序。我已经在这方面停留了几天,并尝试了AWS的EC2、Beanstalk和Serverless。我做错了一些事情,这就是为什么我一直失败。如果我能得到同样的资源就太好了。我很感激提供的任何帮助。
我正在开发一个NestJS应用程序,它是Nx monorepo的一部分。我尝试了Vercel,但是它与UI应用程序的部署冲突。Heroku现在付费了。我只是想学习如何部署NestJS应用程序。我已经在这方面停留了几天,并尝试了AWS的EC2、Beanstalk和Serverless。我做错了一些事情,这就是为什么我一直失败。如果我能得到同样的资源就太好了。我很感激提供的任何帮助。
1条答案
按热度按时间ffx8fchx1#
首先,您需要使用以下命令构建和编译应用程序;
假设您的应用程序名称为
demo
,此命令将编译NestJS应用程序并将生产就绪构建输出到dist/apps/demo
目录。然后按照以下命令将其部署到AWS。
1.如果您还没有AWS帐户,请创建一个。
1.设置Amazon弹性容器服务(ECS)群集以托管应用程序。您可以使用AWS管理控制台或AWS CLI执行此操作。
1.创建AWS弹性容器注册表(ECR)存储库以存储应用程序映像。您可以使用AWS管理控制台或AWS CLI执行此操作。
1.使用
dist/apps/demo
目录中已生成的应用程序文件生成应用程序的Docker映像。您可以通过创建Dockerfile并运行Docker build命令来完成此操作。1.使用Docker push命令将Docker映像推送到ECR存储库。
1.使用AWS管理控制台或AWS CLI创建ECS任务定义和服务。任务定义应将ECR资料档案库中的Docker映像指定为容器映像,服务应指定ECS群集和要运行的所需任务示例数。
1.使用AWS管理控制台或AWS CLI启动ECS服务。这将在ECS群集中启动指定数量的任务示例,每个示例运行一个基于应用程序Docker映像的容器。