Created
December 15, 2010 11:29
-
-
Save beef/741873 to your computer and use it in GitHub Desktop.
Production environment for Rails 3 on heroku with rack-cache
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Add this to your gem file | |
group :production do | |
gem 'dalli' | |
gem 'rack-cache', :require => 'rack/cache' | |
gem 'rack-contrib', :require => 'rack/contrib' | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MyApp::Application.configure do | |
# Settings specified here will take precedence over those in config/environment.rb | |
# The production environment is meant for finished, "live" apps. | |
# Code is not reloaded between requests | |
config.cache_classes = true | |
# Full error reports are disabled and caching is turned on | |
config.consider_all_requests_local = false | |
config.action_controller.perform_caching = true | |
# Specifies the header that your server uses for sending files | |
# config.action_dispatch.x_sendfile_header = "X-Sendfile" | |
# For nginx: | |
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' | |
# If you have no front-end server that supports something like X-Sendfile, | |
# just comment this out and Rails will serve the files | |
# See everything in the log (default is :info) | |
# config.log_level = :debug | |
# Use a different logger for distributed setups | |
config.logger = Logger.new(STDOUT) | |
# Use a different cache store in production | |
config.cache_store = :dalli_store | |
# Disable Rails's static asset server | |
# In production, Apache or nginx will already do this | |
config.serve_static_assets = false | |
# Enable serving of images, stylesheets, and javascripts from an asset server | |
# config.action_controller.asset_host = "http://assets.example.com" | |
# Disable delivery errors, bad email addresses will be ignored | |
# config.action_mailer.raise_delivery_errors = false | |
config.action_mailer.default_url_options = { :host => 'myapp.heroku.com' } | |
# Enable threaded mode | |
# config.threadsafe! | |
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to | |
# the I18n.default_locale when a translation can not be found) | |
config.i18n.fallbacks = true | |
# Send deprecation notices to registered listeners | |
config.active_support.deprecation = :notify | |
# Remove Cache-Control header so varnish does not cache anything | |
config.middleware.use Rack::ResponseHeaders do |headers| | |
headers.delete('Cache-Control') | |
end | |
# Use Dalli as the rack-cache metastore | |
$cache = Dalli::Client.new | |
config.middleware.use ::Rack::Cache, :metastore => $cache, :entitystore => 'file:tmp/cache/entity' | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment