Sim*_*ton 0 ruby-on-rails heroku amazon-s3 ruby-on-rails-3
我正在Heroku的Cedar堆栈上运行Rails 3.0.9应用程序,并且有S3服务静态资产.在我的production.rb文件中,有一个配置设置为:
config.serve_static_assets = false
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为true,它是否会更快地提供缓存内容,还是应该保留原样?
Rafal的答案并不完全正确,因为它基本上归结为您选择在应用程序中运行的堆栈和Rails版本.
使用Bamboo堆栈上的Rails 3.0,有一个Varnish缓存,它位于Heroku运行的Thin进程之前.这会缓存任何静态资产并返回它们而不会触及您的应用程序.
使用Cedar堆栈上的Rails 3.0,没有Varnish缓存.因此,无论它们是否是静态的,所有请求都将命中您的Rails进程.
使用Rails 3.1应该在Cedar Heroku上尝试运行一个rake assets:precompileslug编译过程的一部分.如果由于任何原因失败,它将向您的slug中注入一些代码,这意味着静态资产在运行时被编译和提供.
开发中心有一个Rails 3.1文档,对此特别有用:http: //devcenter.heroku.com/articles/cdn-asset-host-rails31
所以,如果你正在寻找正确的设置,请牢记这一点.但是,在执行此操作之前,请注意Heroku将在您进行部署时根据自己的需要更改此设置,因此在slug编译期间,您放入的任何设置都将被覆盖.因此,你在这里放什么并不重要.
(并且为了记录,Heroku使用Nginx,你只是不倾向于看到它)
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |