Agile Web Development with Rails (for Shrinivasan Mani) by Sam Ruby & Dave Thomas & David Heinemeier Hansson

Agile Web Development with Rails (for Shrinivasan Mani) by Sam Ruby & Dave Thomas & David Heinemeier Hansson

Author:Sam Ruby & Dave Thomas & David Heinemeier Hansson
Language: eng
Format: epub
Tags: Pragmatic Bookshelf
ISBN: 1-934356-54-9
Publisher: The Pragmatic Bookshelf, LLC (275944)


Iteration K1: Deploying with Phusion Passenger and MySQL

So far, as we’ve been developing a Rails application on our local machine, we’ve probably been using WEBrick or Mongrel when we run our server. For the most part, it doesn’t matter. The rails server command will sort out the most appropriate way to get our application running in development mode on port 3000. However, a deployed Rails application works a bit differently. We can’t just fire up a single Rails server process and let it do all the work. Well, we could, but it’s far from ideal. The reason for this is that Rails is single-threaded. It can work on only one request at a time.

The Web, however, is an extremely concurrent environment. Production web servers, such as Apache, Lighttpd, and Zeus, can work on several requests—even tens or hundreds of requests—at the same time. A single-process, single-threaded Ruby-based web server can’t possibly keep up. Luckily, it doesn’t have to keep up. Instead, the way that we deploy a Rails application into production is to use a front-end server, such as Apache, to handle requests from the client. Then, you use the HTTP proxying of Passenger to send requests that should be handled by Rails to one of any number of back-end application processes.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.