如何在生产模式下在Rails应用程序中实现CDN?

时间:2012-09-24 06:08:06

标签: ruby-on-rails cdn

我的应用程序位于我的开发服务器中,现在我计划为应用程序中使用的所有资产实施CDN。

如何使用Rails执行此操作?有没有可用的宝石,或者必须进行任何手动配置?

我尝试使用Google搜索这个主题,但主要针对Cloud front Heroku发现了一些建议。

注意:我在服务器中使用Ngnix并从其他供应商处购买CDN。

1 个答案:

答案 0 :(得分:3)

找到解决方案

实施自定义cdn网址的步骤

1)在config/environment/production.rb

中设置资产路径
  

config.action_controller.asset_host =“http://cdn.mydomain.com”

2)重命名所有样式和js文件,如下所示    (如果您错过了此步骤,则步骤3中提到的asset_path标记将不起作用)

assets/stylesheets/styles.css => assets/stylesheets/styles.css.erb

3)更新样式表代码,如下所示

background: url(<%= asset_path "sprite/top-tile.png" %>) repeat-x scroll 0 -77px transparent !important;

注意:但请务必在NGINX中设置Access-Control-Allow-Origin“*或cdn url”。 只有这样你才能从cdn url访问你的字体系列,因为Firefox和IE默认不允许这样做。