After I began my first bigger Rails application, I selected to make use of Apache (with Passenger), because I already had some knowledge about it with PHP, however i haven't any deep understanding of implementing Rails programs.

Wouldso would one choose web server for any Rails application?

What are the primary variations between Apache and Mongrel?
Or perhaps is it only a matter of taste?

You may already know, two popular configurations are:

  • Apache + passenger

  • Apache + mongrel (Apache delivering demands for your mongrel cluster)

Yes, It's a few taste. You've made the great choice with Passenger for the first application because it is far simpler to create. It's the #1 suggested option on ROR official Website. Performance can also be excellent.

Using mongrel continues to be a great choice but it's harder to create and administrate. You will have to make certain you're running your rails application against a cluster of mongrel and never just one mongrel instance (for performance/concurrent request reason). Meaning adminstration of the apache + administration of the mongrels.

There's pointless to make use of mongrel.

The main reason the thing is plenty of sites/lessons using mongrel is.. it had been the ideal choice before Passenger.

Passenger is much better around the performance side, dead simple to install with no (for that 90% cases) controlling is needed.

You may also do Nginx + Mongrel cluster. (I do not recommend it though.) Opt for Phusion Passenger. It's pretty simple to setup and it is fast. Pointless not for doing things.

I personally use Passenger with Nginx. In addition to the net server, also consider using Ruby Enterprise Edition. It is going to help you save enough memory. ~30%. Ruby Enterprise Edition.