title: How do I deploy a Rails 3 applications on Windows?
body: <p>I've been searching for a way to reliably deploy a Rails 3 application on Windows. I'm quite shocked that it seems like there isn't currently any way to do this. The Apache + few Mongrel services solution don't work currently because Mongrel cannot run in daemon mode therefore I can't install it as a mongrel_service.</p>
  
  <p>The requirements I guess should be:</p>
  
  <ul>
  <li>A web server compatible with Rails 3.</li>
  <li>Must be able to run as a Windows service, daemonized.</li>
  <li>Must be able to restart automatically in case something goes wrong.</li>
  <li>Must be production quality: no memory leaks, etc.</li>
  <li>Should be able to scale, and accept multiple requests concurrently.</li>
  <li>Less hacks possible.</li>
  </ul>
  
  <p>I found out these things:</p>
  
  <ul>
  <li>Mongrel is not production ready for Rails 3 (1.2.0pre), I experience memory leaks quite fast from a console window. The app just exits.</li>
  <li>Mongrel doesn't run in daemon mode (<code>-d</code>) with Rails 3.</li>
  <li>Therefore Mongrel cannot be installed as a service.</li>
  <li>Phusion Passenger is not available on Windows (would be the best solution).</li>
  </ul>
  
  <p>These are the possible solutions I came up with:</p>
  
  <ul>
  <li>Get a Linux box, install Apache + Phusion Passenger and roll.</li>
  <li><a href="http://www.dixis.com/?p=140" rel="nofollow noreferrer">Using thin</a>, however, the author says the thin process is not 'guarded'.</li>
  <li><a href="http://www.beechtreetech.com/ruby-on-rails-thin-and-nginx-on-windows" rel="nofollow noreferrer">Using Ngnix</a>, however, the author says he just ran a default app, not a full run app.</li>
  <li><a href="http://misterdai.wordpress.com/2009/10/16/nginx-windows-service/" rel="nofollow noreferrer">Using Ngnix</a>. I think this solution suffers the same problem as above.</li>
  <li>Using a virtualization of Linux, but I must solve problems like auto-start, etc.</li>
  <li>Run on JRuby within Tomcat.</li>
  </ul>
  
  <p>This might be a handy tool: <a href="http://projectkenai.com/projects/winsw" rel="nofollow noreferrer">http://projectkenai.com/projects/winsw</a></p>
  
  <p>I hope we can find a real solution to this issue.</p>
  
  <hr>
  
  <p>Update:</p>
  
  <p>I agree that JRuby + a j2ee container is the best bet. Some problems must be resolved like gems with extensions, etc. There are lots of valuable ideas here: <a href="http://rails-nutshell.labs.oreilly.com/ch14.html#production_r259035_id35801805" rel="nofollow noreferrer">http://rails-nutshell.labs.oreilly.com/ch14.html#production_r259035_id35801805</a></p>