Ruby on Rails has been around for a few years now and has become a hugely popular web development framework, but not on Windows and Internet Information Server (IIS). Rails has run on Linux and Max OSX almost exclusively, until recently.
The Ruby on Rails Wiki has a very good article on setting up Ruby on Rails using IIS7.
FastCGI is the key to getting Rails running in IIS. The FastCGI web site describes FastCGI as:
FastCGI is a language independent, scalable, open extension to CGI that provides high performance without the limitations of server specific APIs. See the docs for more details.
Dave Scruggs has a nice short tutorial about his experience getting Rails running on Windows Visata SP1 and IIS 7 with FastCGI. One of the really nice features of Vista SP1 is that it includes FastCGI built-in.
In the event you are running IIS7 without FastCGI built in, Dave points out a good tutorial from Carlos Caneja called Install FAST CGI on IIS7.
FastCGI is used to serve applications on IIS7 for languages such as:
- and others….
What about IIS6?
Most of the recent resources on the web I have seen show FastCGI applications running on IIS7, mainly because it is built-into Vista SP1 and that avoids some configuration difficulties but IIS6 does has FastCGI support for it. I have not personally attempted it but I may in the future. The IIS.NET site has some information about using FastCGI on IIS6.
- IIS.net : FastCGI Extension for IIS6 – GoLive to RTM release upgrade
- FastCGI Extension for IIS6.0 – RTM
It seems the primary support for FastCGI from Microsoft is on IIS7 but not everyone may be at the point where their web servers are running IIS7 just yet.
The tutorials given here are very good and work really well with Vista. I have a VMWare VM setup on my MacBook Pro running Vista SP1, the setup was flawless. I have an advantage of many years of IIS experience with a couple years of Ruby on Rails experience, which I think does help.
I would like to see some performance numbers of running Rails or any FastCGI hosted application under IIS. I am not aware of any but would like to hear back from someone putting IIS and FastCGI through it paces.