【问题标题】:Deploying Angular App on AWS for Production在 AWS 上部署 Angular 应用程序以进行生产
【发布时间】:2017-11-16 02:58:18
【问题描述】:

我有一个需要在生产环境中部署的 AngularJS 应用程序。它也有 REST API 调用。

截至目前,我们将其部署在 AWS EC2 Ubuntu 实例上,并使用 grunt serve 来运行它。

我知道 grunt 应该只用于开发,那么在 AWS 上部署 Angular App 的其他方法是什么?我看到很多关于在 S3/Cloudfront 上部署它的答案。我们不能在生产环境中将 EC2 实例与 Nginx/Tomcat 一起用于此目的吗?

谢谢!

【问题讨论】:

  • 你可以使用s3。
  • 你的后端是用 NodeJS 写的吗?
  • @Ashan 不,Python。
  • 大多数问题的答案取决于您想要实现的目标、您的 SLA 和成本要求等,如果没有这些细节,任何答案都不会是完整的答案。
  • @Nambari 我已经在 Python 中准备好了我的 Angular 应用程序和后端,我正在使用 EC2 来运行 python 和 Angular 应用程序(在 grunt 服务器上运行它)。我有很好的时间尝试和测试 AWS,所以我正在尝试探索更好的方法。

标签: angularjs amazon-web-services amazon-s3 amazon-ec2


【解决方案1】:

您可以在 EC2 实例前设置 CloudFront 以缓存 Angular App 中的静态内容,这将在规模上更好地提高应用程序性能。

如果您可以清楚地分离包含 index.html 的 Angular 应用程序,则可以选择将其托管在 AWS S3 中,同时使用 CloudFront 作为缓存和 EC2 实例的代理,这将完全减少交付静态内容的开销从 EC2 实例,进一步提高性能。您也可以使用 S3 来存储文件上传。

【讨论】:

  • 我总是对这些 CloudFront 建议感到惊讶。在我看来,是否需要 CloudFront 取决于应用程序的类型以及所有者愿意在计算成本上花费多少等,
  • 在 AWS 中用于 S3 和 CloudFront 解决了许多解决方案架构的关键问题。这就是为什么很多建议。它始终是一种选择,但不是必须的
  • 我并不否认它们解决问题的事实,但是当我们总是在每个应用程序中使用它们时,这是值得商榷的。这些解决方案高度依赖于什么类型的应用程序和 SLA 要求。
猜你喜欢
  • 2018-12-15
  • 2014-09-18
  • 2018-02-26
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2020-05-08
相关资源
最近更新 更多