在 AWS Elastic Beanstalk 中,有一个用于部署 Node.js 应用程序的向导流程。当我到达“上传您自己的”应用程序源的步骤时,它用通用术语描述了它们的 3 个要求:zip 文件,小于 500MG,没有父文件夹。 但他们就到此为止了。没有具体细节。 我退出了 bash 并跑了......
ng build --prod
...现在有一个 dist 文件夹。那么...我的 zip 文件中应包含哪些内容以及位于哪个文件夹级别?我只尝试过/dist,也尝试过/myapp/dist,其中包含/myapp 中的所有其他松散文件,但没有其他子文件夹,例如/src。我查遍了整个网络,但没有看到关于压缩 AWS EC2 应用程序源包的相当简单的教程。
上传的 zip 文件中应包含哪些内容?
最佳答案
我上面问题中的主要错误是尝试使用他们选择的 Node.js 作为我的服务器平台在 AWS 中运行我的 Angular 5 应用程序。这是我学到的东西(在 Albert Haff 等人的帮助下):Angular 5 在编码时使用 Node (ngserve) 来模拟 Web 服务器。但是,即使有 --prod 支持的标志,它也不是在生产中使用!在通过 Beanstalk 部署 Angular 5 应用程序时,选择 node.js 作为环境确实很容易(而且很诱人)——但不要这样做!
- 从 Angular 5 项目文件夹中运行 ng build --prod (并考虑添加 --aot)
- 如果可以的话,从构建刚刚创建(或更新)的新/dist 文件夹中,可选择运行压缩,例如
for i in dist/*;做 brotli $i;完成
- 从/dist 文件夹中,压缩所有内容,包括子文件夹。
- 转到 beanstalk,在创建 Web 服务器环境时,选择 Tomcat(或任何其他普通的旧 Web 服务器,但不要选择 Node.js,即使它在列表中!)。
- 在“应用程序代码”上,选择“上传您自己的代码”,然后浏览到您在上面第 3 步中创建的 .zip 文件。
- 点击“创建环境”,几分钟后您的 Angular 5 应用程序将在互联网上提供。
现在,您可能需要连接您的域名。为此使用 Route 53。
关于amazon-ec2 - Angular 5 为 AWS EC2 创建应用程序源包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48693139/