After taking a liking to nginx, I refused to bail on it when Passenger first arrived on the scene. But now I can have my cake and eat it too! And so can the other holdouts. Nginx and Passenger are truly a dream team for Ruby/Rails web application hosting. I still think very highly of thin. It has served me very well. But the fact of the matter is that the simpler solution is usually the better one. This situation is no exception. I’ve created a second webfaction-rails-environment installation script that you can get here.
The only downside to nginx+Passenger I see with regard to WebFaction is that the reported RSS is higher than the monit+nginx+thin solution. In reality, the nginx+Passenger solution uses far less physical memory (especially with Ruby Enterprise Edition) than the other solution. The reported RSS is higher because it includes memory that is shared among processes/threads. Some memory is counted multiple times. If memory usage is monitored purely on the basis of RSS, then you’re not getting your money’s worth of memory with passenger. “Private Dirty RSS” is a better representation of actual physical memory usage. Find out how to find it in the README of webfaction-rails-environment. The difference can be quite substantial.
