如何在 AWS EC2 上部署 Node.js Express 服务器 + Vue.js 应用程序

How to deploy Node.js Express server + Vue.js app on AWS EC2

我正在设置我的网站,它将 运行 在 AWS Ubuntu EC2 上。它是一个 Vue.js SPA,依赖于具有 API 个调用和 socket.io 的 Nodejs Express 应用程序。到目前为止,这两个应用程序都在运行,后端在我的 AWS EC2 免费层上,在 Elastic Load Balancer 后面,前端在我的机器上,因为我正在使用它。现在我也想将前端部署到我的 AWS EC2,但我不知道如何正确执行。我发现的教程使用的是 nginx,但我不确定我是否需要 nginx,因为我已经拥有 AWS ELB。任何建议都会很棒 :)

正如所说“如果您正在与后端分开开发前端应用程序 - 即您的后端公开了一个 API 供您的前端与之交谈,那么您的前端本质上是一个纯粹的静态应用" here

我会选择 s3 来托管 vue 应用程序,因为它是静态的并且可以使用 s3 和
我将选择 EC2 来托管我的 API(服务器代码),而且我会创建一个弹性 IP 来与我的 ec2 服务器通信,这样在重新启动时我就不必处理动态 IP

让您的网站上线的步骤

  1. 首先在您的 ec2 实例上拉取 node express 服务器
  2. 启动您的 node express 服务器,使用 pm2 将其作为服务提供
  3. 从 ec2 实例的安全组公开服务端口
  4. 在 aws 上创建一个 s3 存储桶并将文件上传到它
  5. 提示:将文件拖放到 s3 后只需单击上传按钮,不要单击下一步
  6. 上传select所有上传的文件后标记为public
  7. 上传后转到该存储桶的属性,然后选择静态网络托管并输入index.html要求的字段

** 提示:不要为此应用程序使用负载均衡器,仅当您将系统分布到多个 ec2 时才使用**