我已经创建了一个MERN堆栈应用程序,现在我想在aws服务器上托管我的应用程序。我已经为我的应用购买了域名。我已经实现了我的前端(React)和后端(Node)不同,我不知道如何部署我的应用程序。
我在youtube上找到了一些关于如何在aws上部署我的MERN堆栈应用程序的教程,但没有一个涵盖如果前端和后端分别实现该怎么办。
你的前端只是一个静态HTML文件与一堆javascript依赖。将其托管在诸如S3之类的静态文件存储中,并通过CDN (CloudFront)提供服务。很容易。
对于快速备份的节点,您可以将其dockerize并通过ECS部署它(如果您是新手,可能会有点棘手)。
或者如果你正在构建MVP,你可以启动一个EC2实例,设置Node,并在其中设置所需的依赖项(如MongoDB)。然后克隆节点repo并使用进程管理器(如pm2
)运行应用程序。此外,您可能希望安装nginx
并将端口80(或443)的流量代理到您的节点应用程序(可能在localhost:3000
上运行)
前端S3 + CloudFront是在AWS上托管前端应用程序的标准方式。S3存储文件,CloudFront添加HTTPS和缓存。
后端>: dockerize你的Node应用,并使用AWS ECS将其部署到EC2或Fargate上。选择Fargate可以更容易维护,但成本略高。Mongo: AWS DocumentDB、AWS EC2 (self-host)或Mongo Atlas