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

Ruby on rails 如何在生产模式下在Rails应用程序中实现CDN?,ruby-on-rails,cdn,Ruby On Rails,Cdn,我的开发服务器中有我的应用程序,现在我计划为应用程序中使用的所有资产实现CDN 如何使用Rails实现这一点?是否有任何可用的gem来执行此操作,或者必须进行任何手动配置 我试着在谷歌上搜索这个话题,但找到的建议主要是针对云端Heroku的 注意:我正在服务器中使用Ngnix,打算从其他供应商处购买CDN。找到了解决方案 实现自定义cdn url的步骤 1) 在config/environment/production.rb中设置资产路径 config.action\u controller.a

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

如何使用Rails实现这一点?是否有任何可用的gem来执行此操作,或者必须进行任何手动配置

我试着在谷歌上搜索这个话题,但找到的建议主要是针对云端Heroku的

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

找到了解决方案

实现自定义cdn url的步骤

1) 在
config/environment/production.rb中设置资产路径

config.action\u controller.asset\u host=”http://cdn.mydomain.com"

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

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

background: url(<%= asset_path "sprite/top-tile.png" %>) repeat-x scroll 0 -77px transparent !important;
background:url()重复-x滚动0-77px透明!重要的;
注意:但请确保在NGINX中设置了访问控制允许源“*或cdn url”。 只有这样,您才能以Firefox的身份从cdn url访问字体系列,IE默认不允许这样做。

找到了解决方案

实现自定义cdn url的步骤

1) 在
config/environment/production.rb中设置资产路径

config.action\u controller.asset\u host=”http://cdn.mydomain.com"

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

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

background: url(<%= asset_path "sprite/top-tile.png" %>) repeat-x scroll 0 -77px transparent !important;
background:url()重复-x滚动0-77px透明!重要的;
注意:但请确保在NGINX中设置了访问控制允许源“*或cdn url”。
只有这样,您才能从cdn url访问您的字体系列,因为Firefox和IE默认情况下不允许这样做。

您需要了解cdn公司为您提供了什么。然后你可以修改你的应用程序。否则,你打算怎么做?实际上我将使用我自己的cdn。。比如cdn.mydomain.com。。如何在我的应用程序中配置此功能?只提供
config.action\u controller.asset\u host
就足够了吗?我不熟悉rails为您提供的任何CDN。但看看清漆。这里:让我们知道您将如何操作。是的,设置asset_主机将为您配置的cdn中的资产提供服务。你也需要把数据放在那里。这取决于您如何部署应用程序。您需要了解CDN公司为您提供了什么。然后你可以修改你的应用程序。否则,你打算怎么做?实际上我将使用我自己的cdn。。比如cdn.mydomain.com。。如何在我的应用程序中配置此功能?只提供
config.action\u controller.asset\u host
就足够了吗?我不熟悉rails为您提供的任何CDN。但看看清漆。这里:让我们知道您将如何操作。是的,设置asset_主机将为您配置的cdn中的资产提供服务。你也需要把数据放在那里。这取决于您如何部署应用程序。如果要移动到sass/less,您可以使用
图像url(“…”)
而不是
url()
(顺便说一句,它们与普通css向后兼容),如果要移动到sass/less,您可以使用
图像url(“…”)
而不是
url()
(顺便说一下,它们与纯css向后兼容)