Mongrel was developed to fill a need. It's a small, Ruby-based web server (with C extensions for speed) that integrates nicely with Rails and other Ruby web frameworks. It's easy to set up for a small site, and you can cluster and scale it to manage high-traffic loads as well. In this section, you'll see how to set up and install a simple Mongrel installation, and how to create a clustered Mongrel setup and integrate it with Capistrano.
Please note that as web deployments need to manage more and more traffic, they become somewhat specialized to the needs of that particular web application. They also increasingly rely on server components that are external to Rails and this book. See the "Resources" section at the end of this chapter for suggestions on managing high-traffic Rails web applications.
Mongrel is distributed as a Ruby gem. Install it as follows:
$ sudo gem install mongrel
As of this writing, the current version is 1.1.2, and you will be prompted to select a specific version based on whether you are on Windows or something else.
If Mongrel is installed, the script/server command you run during development will auto-detect it and run Mongrel instead of the default WEBrick. However, the preferred way of starting Mongrel as a Rails server, even during development, is by running the following command from your Rails root:
When the mongrel command has no arguments, it will run in the foreground and can be stopped ...