Angular 5 为 AWS EC2 创建应用程序源包

问题描述 投票:0回答:2

在AWS Elastic Beanstalk中,有一个用于部署node.js应用程序的向导流程。当我到达“上传您自己的”应用程序源的步骤时,它用通用术语描述了它们的 3 个要求:zip 文件,小于 500MG,没有父文件夹。 但他们就到此为止了。没有具体细节。 我辍学了,然后跑了……

ng 构建 --prod

...现在有一个 dist 文件夹。那么...我的 zip 文件中应包含哪些内容以及位于哪个文件夹级别?我只尝试过 /dist,也尝试过 /myapp/dist,其中包含 /myapp 中的所有其他松散文件,但没有其他子文件夹,例如 /src。我查遍了整个网络,但没有看到关于压缩 AWS EC2 应用程序源包的相当简单的教程。

上传的 zip 文件中应包含哪些内容?

amazon-ec2 amazon-elastic-beanstalk angular5
2个回答
3
投票

我上面问题中的主要错误是尝试使用他们选择的 Node.js 作为我的服务器平台在 AWS 中运行我的 Angular 5 应用程序。以下是我学到的东西(在 Albert Haff 等人的帮助下):Angular 5 在编码时使用 Node (ngserve) 来模拟 Web 服务器。然而,即使有一个支持 --prod 的标志,它也不是在生产中使用!通过 Beanstalk 部署 Angular 5 应用程序时,选择 node.js 作为环境确实很容易(而且很诱人)——但不要这样做!

  1. 在 Angular 5 项目文件夹中,运行 ng build --prod (并考虑添加 --aot)
  2. 如果可以,从构建刚刚创建(或更新)的新 /dist 文件夹中,可选择运行压缩,如
    for i in dist/*; do brotli $i; done
  3. 从 /dist 文件夹中,压缩所有内容,包括子文件夹。
  4. 转到 beanstalk,在创建 Web 服务器环境时,选择 Tomcat(或任何其他普通的旧 Web 服务器,但不要选择 Node.js,即使它在列表中!)。
  5. 在“应用程序代码”上,选择“上传您自己的代码”,然后浏览到您在上面第 3 步中创建的 .zip 文件。
  6. 单击“创建环境”,几分钟后您的 Angular 5 应用程序将在互联网上提供。

现在,您可能需要连接您的域名。使用 53 号公路。


0
投票

虽然静态文件传输,我最初使用 Node.js 服务器来实现,但所需的解决方案需要 Tomcat 或其他传统的 Web 服务器。要实现此目的,请导航到 Beanstalk 并创建一个 Web 服务器环境,选择 Tomcat 或等效选项。避免选择 Node.js,即使它出现在列表中。

© www.soinside.com 2019 - 2024. All rights reserved.