Amusing that this finally comes out... now that Ezra has developed Merb. Not that I am complaining... It's nice to have a book from someone that obviously knows what they are talking about.
Actually the book covers both apache and nginx equally so you should be straight. Although I must recommend that if you have a choice then you go with Nginx. Nginx is much more scalable and ues much fewer resources then apache does. The only reason to use apache with a Rails deployment is if you have other legacy sites to support that run on apache. If you are just deploying a Rails/Merb app then Nginx is far superior in every way.
Hey Ezra, what are your thoughts on Litespeed? I never hear anyone talking about it, but I've found it extremely easy to deploy Rails apps on it (though I've never done so with a high traffic site). Do you cover Litespeed in the book, at least as a comparison to others?
I like lightspeed but the free version is crippled and only usable for smallish sites. The real version costs a lot of money but is pretty nice. But it not being open source makes me personally cringe ;)
Lightspeed is nice for smaller sites because the processes can go away when there is no traffic. But I'm not a fan of it much and it's not covered in the book.
Heh, you sure? Everyone I know who runs a Rails site either uses nginx or lighttpd and mongrels. Apache's way too heavy and since there's no mod_ruby yet, mongrels (or maybe thin) is the way to go for dynamic requests and nginx for static. Nginx is an absolutely amazing piece of software.
As for the book, I have the early beta and the beta that followed it. It's THE book on deployment. Ezra and boys at EngineYard really know what they're talking about.
If you're deploying a Rails app, this book is a must. It will save you hours and hours of wasted time.
I disagree. If you're talking about personal projects or tiny start-ups with full control over server configurations, sure nginx is a viable option. But I too find it unnatural for so many Rails-related blogs and books to ignore Apache and this is why:
Apache is an industry standard and there is no shortage of people who know how to deal with it. I like nginx, but neglecting Apache is a mistake: I find it much easier to talk to corporate drones if I mention that "Rails runs behind Apache". For many of them words like Ruby or Rails are already too much to swallow, why make matters worse by introducing yet another new kid on the block for no tangible reason.
Also there are hosting companies and your clients who may (and in most cases ARE) already running an Apache instance and have an admin who's in charge.
Basically what I am saying is that deploying on Apache is #1 thing to learn about deploying Rails, but it is by no means the only or even the best option.