在CDN或S3上部署Meteor

时间:2013-07-23 00:32:18

标签: deployment amazon-s3 meteor cdn frontend

是否有办法获取部署在 CDN 上的Meteor应用程序生成的静态资产 - 或 S3 等静态托管解决方案 - 以提高加载速度并降低托管成本?

3 个答案:

答案 0 :(得分:1)

CloudFront的

我已经在this post详细介绍了我们如何在Edthena完成此任务。 TLDR是:

在服务器代码的某处添加此行:

WebAppInternals.setBundledJsCssPrefix(CDN_URL);

CDN_URL是您的CloudFront网址(例如https://a27n0s89ik4xb3.cloudfront.net)。

我们在创建CloudFront分配时保留默认值,但以下情况除外:

Origin Domain Name: myapp.example.com
Origin ID: myapp.example.com
Viewer Protocol Policy: HTTPS Only
Compress Objects Automatically: yes

如果您提供自己的字体,最终可能会出现跨源错误(除非您使用字体数据URL)。 Josh Owens描述了如何在his post中处理这个问题。

的CloudFlare

在meteorhacks博客上查看Cloudflare Meets Meteor。如果您恰好是CloudFlare用户,那么这是一个非常简单的解决方案,但您需要禁用WebSockets(或者付出很多代价,或者使用复杂的解决方法)。

答案 1 :(得分:0)

如果您使用的是陨石,则可以使用此套件:https://github.com/nate-strauser/meteor-aws-sdk

答案 2 :(得分:0)

如果通过demeteorizer进行部署,则可以非常轻松地将static_cacheable的内容上传到CDN并更改app.htmlapp.json中的链接。

可以在自定义部署/ capistrano脚本中自动执行该过程。