Rails 3 Development Server - What is recommended?

Hi Folks,

Earlier I posted about rails development servers and asked if mongrel was on its way out. Some suggested that I search group which I of course did but couldn’t come to a conclusion about which server folks are using these days for development. Does anyone know what rails team is suggesting or what the most common is outside of mongrel? It seems mongrel is not the choice for rails 3. I read a couple of posts about unicorn. Someone suggested that the rails team included unicorn in the Gemfile (commented out) as a possible hint to move onto something other than mongrel. Mongrel only works if you include it in the Gemfile which isn’t added by default. Mongrel has been the default development server for a while now but obviously there had been a shift. I am just trying to get back into the loop. Any thoughts?

Cheers,
Dave

I use Mongrel on my local Mac, and Passenger on my staging server and production servers.

i've also used Passenger locally, but the last few jobs have been Mongrel, for no real reason.

Walter

I still use mongrel for my dev environment. If you have a Rails 3 + Ruby 1.9.2 stack, you’ll need the mongrel-1.2.0-pre though.

Any idea why the mongrel gem has been excluded from the Gemfile?

Just my opinion, but WEBrick has always been the default server. Adding mongrel to the default Gemfile makes it a required dependency and people without it will have to install the gem first.

Any idea why the mongrel gem has been excluded from the Gemfile?

http://github.com/rails/rails/commit/aa758b93889ea879f084948c71dcd47c0275fb30

Not much info there, but gives you the author and date that it was changed… maybe lighthouse or the rails-core list around those dates would have more…

Not seeing anything in the lists/tickets though, but i’m not looking super hard :slight_smile:

-philip

Just my opinion, but WEBrick has always been the default server. Adding mongrel to the default Gemfile makes it a required dependency and people without it will have to install the gem first.

But why put unicorn in there commented out? Why switch from a commented out mongrel to a commented out unicorn?

Thanks for this link. I just sent the author an email.

IMO, WEBrick is the default fallback server because it’s pure Ruby and thus doesn’t depend on native compiled libraries. However, it’s also the slowest kid on the block.

Whether to use Unicorn, Mongrel, Thin or Passenger Standalone in development is up to the developer himself. Mongrel has served me well in the past and I still use it on older projects purely out of habit. When I started using Rails 3 where Unicorn was the suggested (even though it was commented out) development server, I started using that and I have to say I’m pretty pleased with it. It does feel faster than Mongrel and certainly more robust and based on its specs and philosophy I would say it’s better apt for a reverse proxy production environment than Mongrel was (although Mongrel worked just fine with the right load balancing). Passenger Standalone might be a good choice if you want to stay close to your Passenger production environment.

But in the end all ruby servers will do, just pick the one that feels “right” to you.

Best regards

Peter De Berdt

Mongrel hasn't seen a release for quite some time now, while Unicorn
is still being maintained. I'm guessing that's the main reason behind
the commented-out-Mongrel-to-commented-out-Unicorn change. I think
it's commented out by default because the Rails team doesn't want to
force any particular development server by default. The uncommented
version is there to make you aware of the choice and to make it easy
to select that choice.

It should be noted that using Phusion Passenger Standalone as
development server does not require one to specify it in the Gemfile.
'passenger start' just works.