O'Reilly logo

Learning Rails by Edd Dumbill, Simon St. Laurent

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Deploying Rails Applications

Deploying a Rails application means switching it from development to production mode and then putting it somewhere the public can see it. That simple switch requires a lot of change.

Note

For vastly more information on this subject than can possibly fit into this book, explore Deploying Rails Applications: A Step-By-Step Guide (Pragmatic Programmers, 2008). It doesn’t cover Phusion Passenger, which came out right after it was published, but it covers everything else mentioned here and much, much, much more, including other web servers, deploying on Windows, updating deployed applications, and scaling Rails across multiple servers to handle massively busy applications.

Changing to Production Mode

Running your application in production mode means that it runs all of its queries against your production database, and that it loads Rails’ configuration from config/environments/production.rb. Typically, the shift in environments results in changes to the following settings:

config.cache_classes = true

Rails doesn’t check to see if any code has changed every request, so everything runs a lot faster in production mode.

config.action_controller.perform_caching = true

Caching is enabled, letting Rails optimize its performance by minimizing redundant processing.

config.action_controller.consider_all_requests_local = false

Verbose error reporting is disabled, so Rails won’t confess all to total strangers. Only users coming in from localhost (on the same machine) will see ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required