Mongrel for Rails Deployment

Sometimes, I love being wrong. Like, when I concluded at the end of my “FastCGI, SCGI, and Apache: Background and Future” post that I figured FastCGI or SCGI would continue to be the defacto deployment standard for Rails apps, even though I mostly prefered a HTTP approach.

But then Zed Shaw wrote Mongrel. What’s Mongrel? Glad you asked:

Mongrel is a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI. It is framework agnostic and already supports Ruby On Rails, Og+Nitro, and Camping frameworks.

In other words, it’s an HTTP app server. A good one. Don’t believe me? Try it yourself, or perhaps start by reading this O’Reilly interview with Zed. The man wrote the HTTP parser using Ragel. Enough said.

So I’ve switched to Mongrel entirely for the Rails apps I’m involved with. Mongrel is a huge step forward for Rails adoption, IMHO. It’s well written, it’s fast, it’s secure, and it’s easy to deploy. You hook it up like you already hook up Tomcat, Resin, WebLogic, whatever. I’ve already got a Mongrel powered Rails site up behind a Cisco CSS L7 switch, and several behind Apache mod_proxy.

I’m confident that by the next major Rails release, Mongrel will be *it* and we’ll already be reminiscing around the campfire about how back in the old days life was so much more complicated with FastCGI and SCGI and how the new kids just don’t appreciate what they have now.. ;)

Mongrel makes me happy. Thanks Zed!


About this entry