How do I serve Ruby on Rails applications on Windows Server 2008?

Solution 1:

Save your sanity!!! RoR for Windows 2008 isn't there yet. Seems like things have barely caught up with Windows 2003. Keep a look out for IronRuby for IIS from Microsoft. It's just not cooked yet though.

Until then, find a TEMPORARY solution. Use mongrel and install the prerelease version of mongrel_service to get it working with W2K8:

http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/1adf2a73c75c2884/38267c06198e282e?show_docid=38267c06198e282e

I did this to get Redmine working and seems like the most solid solution for now. I was able to recover some of my sanity back. I have tried all the articles you found and more. Even tried cooking IronRuby myself and got it to work with RoR basics, but failed with Redmine. Mongrel worked and is extremely fast, not sure if it is scalable though.

Solution 2:

the best bet to get a ROR rails app deployed on windows is to use jruby with the glassfish gem. this setup makes it very easy to use a reverse proxy to proxy requests to glassfish to server the application. i'm actually in the process of writing up instructions for such a task on my blog and used the information contained within the following blog post as a stepping stone.

http://danielhill.com.au/blog/2009/04/running-redmine-on-windows-with-jruby-on-rails-and-glassfish/

since i'm on windows 2003 and iis6, i'm using Managed Fusion as a reverse proxy.

Solution 3:

Why not run a virtualized instance of a linux os using virtualbox or vmware?

Solution 4:

here's the link to the Howto on rubyonrails.org article that is broken in all the articles you mentioned:

http://oldwiki.rubyonrails.org/rails/pages/HowToConfigureIIS7

Looks like they moved or started a new wiki server and didn't bother linking to the old one, or somesuch.

The tutorial says to use an older version of ruby (1.8.6), when the newest version (1.9.x) is supposed to be much, much faster. I didn't read the whole thing, but barring any technical issues, be sure to use the latest version of ruby for the best performance.