EC2或S3主持AngularJS应用程序?

问题描述 投票:7回答:3

我想推出一个AngularJS应用程序的生产版本,我发现Amazon AWS是一个很棒的托管套件。由于AngularJS本质上是静态的,因此可以托管在S3存储上,也可以托管在具有node.js后端的EC2服务器上。

这些解决方案中的任何一个都适合我的部署方法,所以问题是,我(理论上)会从一个或另一个获得更好的性能,为什么?在S3上托管专业网站前端有什么问题吗?有没有人对这两种方法有任何经验?该网站涉及流媒体音频,视频和潜在的许多用户。

任何建议表示赞赏

angularjs amazon-web-services amazon-s3 amazon-ec2 hosting
3个回答
4
投票

如果你坚持使用S3 For Front结束审查你的要求,我建议你使用Cloudfront与S3,原因是:

S3无法处理自定义HTTP路由。由于“导出”不是文件S3不知道该怎么做。为了正确处理Angular路由,您必须使用实际的HTTP服务器,如Nginx,Apache,IIS。

您可以阅读这些博客文章以获取更多信息:

How to host your Angular 2 application in AWS with S3

Using AWS CloudFront to serve an SPA hosted on S3

现在转到第二个选项,你提到使用EC2 To host,我认为使用该选项可以让你更好地控制你的环境,也可以更灵活地扩展。

谢谢


2
投票

1)S3 Bucket + CloudFront(CDN)对于静态文件服务来说非常快。 Angular minified app是一组静态文件,在这里效果最好。对于这些缩小文件的构建,我建议使用CI / CD进程或在本地构建它们,然后将它们上传到S3。

2)EC2需要更多的工作来设置,它消耗资源,静态文件或Angular不需要(除非你使用Angular Universal进行动态内容服务),并且不推荐Node.js用于静态文件(Node.js get's由于它是单线程的,因此阻止静态文件,这是最好的做法。

这是一篇关于这个主题的好文章:https://www.quora.com/Should-I-use-AWS-EC2-to-host-an-Angular-web-app-or-AWS-S3


-4
投票

在S3上托管将涉及通过网络从S3获取Angular代码。

而不是让它'在那里',与EC2,这将(理论上)使其更快。

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