gpt4 book ai didi

node.js - 在 AWS EC2 上部署 Angular 5 应用程序

转载 作者:太空狗 更新时间:2023-10-29 17:58:42 26 4
gpt4 key购买 nike

我正在使用 Angular 5 为大学构建一个项目。我构建了两个独立的服务:

  1. 父文件夹
    • 输入服务
      1. package.json
      2. ...
    • 网络客户端
      1. package.json
      2. ...

我的文件夹结构有一个名为 projectX 的父文件夹,其中有两个子文件夹,它们都有自己的 package.json 等。它们是独立的项目,但存在于同一个父文件夹。我设置了一个 EC2 实例并在那里成功安装了所有依赖项,包括。 Node 、npm 和正确版本的 Angular CLI。

在本地,我这样开始我的项目:ng serve --port 6060 用于输入服务和ng serve --port 4200 用于 WebClient。我已经在服务器上成功运行了 ng build --prod(通过 ssh)并创建了两个 dist 文件夹(每个文件夹中一个)。我现在想从“互联网”中访问我的两项服务。我已经为我的 EC2 实例设置了允许连接的入站规则。

使我的两个 dist 文件夹可用的最简单方法是什么?我应该使用 express 吗?我尝试使用不起作用的 pm2 http 服务器。

如果您还有其他问题,请随时提出。

最佳答案

假设您的 Angular 应用未设置为服务器端渲染,我可以向您提出以下建议:

  1. 使用 ng build --prod --aot 构建每个应用
  2. 在 S3 中创建您的存储桶(在您的情况下为 2 个)
  3. 将每个应用程序的 dist/文件夹的内容放入各自的桶中
  4. 设置每个存储桶的属性:“静态网站托管”选择“使用此存储桶托管网站”并将索引文档字段设置为您构建生成的“index.html”(将位于 dist/文件夹)
  5. 将每个桶的权限设置为 public 并使用允许的方法设置 CORS 配置(示例如下)

    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
  6. 您可以使用“静态网站托管”上生成的端点来访问您的应用程序

关于您的后端,需要更多详细信息!

关于node.js - 在 AWS EC2 上部署 Angular 5 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48250911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com