Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

28 mod_rails / Passenger Resources To Help You Deploy Rails Applications Faster

By Peter Cooper / May 23, 2008

passenger.png

Passenger (often known as "mod_rails") is an Apache module developed by Phusion, a small Dutch IT consultancy, that makes it easy to deploy Rails applications on Apache-based stacks. Passenger follows on well from the popular "No True mod_ruby Is Damaging Ruby's Viability on the Web" discussion of January 2008 in that it mostly solves the Rails deployment issue (see SwitchPipe for an alternative that can deal with non-Rails frameworks).

Since its launch in April, Passenger has become quite popular and a lot of developers are already using it to rapidly deploy Rails sites. Even popular budget Web hosting company Dreamhost has got in on the action, and is offering cheap, Passenger-based Rails application hosting. The de-facto Ruby (and Rails) deployment system seems to change rapidly (remember Apache+FastCGI, then lighttpd+FastCGI, then Apache+Mongrel, then Nginx+Mongrel...?) and while Passenger may or may not be a de-facto standard in a few years' time, it's certainly becoming the standard for now, so jump on board!

To help with your leap on to the Passenger bandwagon, I've collected together some of the better resources and blog posts of recent weeks covering its use:

General

Official Passenger / mod_rails Site - The official site for the Apache module. Features testimonials, installation instructions, documentation, and information on how you can further support the project.

Passenger / mod_rails Source Repository - Passenger / mod_rails is an open-source project at heart, and the code is available on Github.

Passenger Users Guide - A very Apache-documentation-esque guide to using, configuring, and trouble shooting Passenger.

Installation

Ask Your Doctor About mod_rails - Geoffrey Grosenbach (of Peepcode fame) writes about Passenger from a user's point of view. He walks through rolling out Passenger on his own server in a bunch of easy steps. He also covers log rotation.

Using Passenger on OS X for Rails development - Manfred Stienstra quickly walks through what's involved in setting up Passenger on Mac OS X.

Configurating [sic] Passenger (mod_rails) on SliceHost with Ubuntu 7.10 - Ben Hughes covers the roll-out of Passenger, SQLite 3 and Rails on a SliceHost VM.

Ubuntu 8.04 Rails Server Using Passenger - Ron Valente covers the installation of Passenger on Ubuntu 8.04 (a.k.a. Hardy Heron). This is a very well put together guide, cut into nice bite size pieces with well formatted code examples.

Passenger Installation in Portuguese - Fabio Akita presents a Passenger installation guide in Portuguese.

Discussion & Benchmarks

Why mod_rails is great for light-duty Rails apps - A blog post that takes a deep look into the motivation behind Passenger and where it fits in amongst other deployment solutions. It looks at Passenger's memory use and how Passenger integrates with Apache (somewhat).

mod_rails vs thin vs ebb vs mongrel - A comparison of four different Rails serving techniques. Ebb appears to have the edge.

Interview with Hongli Lai and Ninh Bui of Phusion - Fabio Akita interviews the two masterminds behind mod_rails.

Looking at mod_rails and FiveRuns Rails Instrumentation - Oliver of FiveRuns takes a look at mod_rails and examines its usage scenarios.

A few notes on using Passenger (mod_rails) with Mac OS X - A quick examination of mod_rails on OS X.

Miscellaneous Experiences Some People Have Had With Passenger - A roundup of various impressions and experiences people have had so far.

mod_rails vs Mongrel vs Thin - Benchmarks performed by Phusion themselves with three alternative deployment solutions.

Tools and Tips

Ruby on Rails 2.x Elastic Server - A Rails /Passenger virtual machine creator of sorts. It appears to let you choose which components you want to include in the VM then give you access to download a virtual machine image for VMware, Xen, Parallels, or Amazon EC2 containing the features selected. I have not tested this, and would appreciate any feedback in comments.

mod_rails and Capistrano - Tom Copeland presents a simple Capistrano recipe for restarting mod_rails applications.

Using Capistrano with Passenger - A slightly deeper guide to using Capistrano to deploy mod_rails applications.

Installing Typo (blog engine) and mod_rails for multiple accounts - A walkthrough of creating and installing multiple instances of the Typo blogging engine using mod_rails.

Disclaimer: I don't use and haven't tried mod_rails yet, so any corrections to above comments are welcomed and encouraged.

This post is sponsored by KickStart Events — RubyOnRails Training at the EMCC (East Midlands Conference Centre), UK. High-quality hands-on workshops and courses for web application developers. Taught by experienced mentors using live coding sessions, slides and participatory discussion.

Comments

  1. Lori Olson says:

    Hey, you left out "NGINX + Thin"... ;-)

  2. AkitaOnRails says:

    If you're attending RailsConf: DO NOT lose June 1st keynote! And the Phusion guys recommend everybody to bring extra SOCKS! :-)

  3. Dave says:

    I also found the slicehost guide to installing and configuring Passenger on Ubuntu 8.04 helpful: http://articles.slicehost.com/2008/5/1/ubuntu-hardy-mod_rails-installation

  4. Hongli Lai says:

    Thanks for the links Peter. :)

  5. Babble On says:

    Thanks for collecting these resources. For a long while, Rails deployment has been a bit of a chore and more recently, a bit overwhelming in terms of the different configurations of software out there... I wonder if Passenger is the way forward, and am intrigued as to what it will offer when combined with Phusion's Ruby Enterprise Edition (http://www.rubyenterpriseedition.com/).

  6. Peter Cooper says:

    To add to the above, Andre Lewis has written a great (and more detailed) explanation of using Passenger on OS X:

    http://napkin.highgroove.com/articles/2008/05/27/development-with-rails-passenger-aka-mod_rails-on-mac

  7. Simon Starr says:

    Thanks for all the Passenger info; I've been meaning to try it out since you mentioned it the other week and I'm currently downloading a VMware image from Elastic Server. I'll report back once I've tried it out.

Other Posts to Enjoy

Twitter Mentions