Instant Rails as a Windows service

Hi all,

My cohorts and I are working on a project which is nearing a general
release. The project is a Inventroy System which keeps track of all
computer systems at our company, this system reads from Active
Directory and other systems to provide us with up to date information
about our computer systems.

Anyway the problem is, I don't know how to run Instant Rails as a
WIndows service. As of now we have to have someone logged in at all
times to keep this instance running.

Does anyone know how to run Instant Rails and WEBrick as a Windows
2003 Service? I've tried Firedaemon but that failed miserably.

Any help would be greatly appreciated. Thanks!


Dunno about instant rails but mongrel runs quite nicely as a windows
service, I'd give that a whirl.

Out of curiousity, if you're using LDAP to talk to AD, which LDAP
library are you using?

- donald

I've got a bunch of Instant Rails apps running as Windows services,
and they work very well; the trick is to get Mongrel running as a
service, not Rails itself. The only problem I've found is that I have
to stop/start them occasionally, as they tend to slow down - I suspect
something like a slow memory leak is the cause, but haven't bothered
to investigate it further as it meets my requirements as it currently

From your app directory (under rails_apps), type "mongrel_rails
service::install -h" and that'll let you work out how to run mongrel
as a Windows service. Work through this, and you'll get a new Windows
service created, pointing to your Rails app - starting this service
will let you access the app through the TCP port you've nominated.

You'll need to configure a new mongrel service for every Rails app you
have, but that hasn't been a problem for me - I just have e.g. ports
5640, 7877, 3459, ... all running different mongrel services. There's
probably an approach to getting this to scale to having multiple
mongrel services pointing to a single Rails app, then applying load
balancing on top of these several mongrel instances, but I've never
had cause to investigate it.


Dave M.

Hey all… watching this thread a bit…

Running Mongrel as a service under Windows works great, but please be aware that Rails is single-threaded. Without a load balancer, you stand the risk of forcing users to wait their turn. Also, running apps this way prevents you from using any sort of page caching, including static assets like images, etc.

Mongrel will choke under heavy loads, which is why you may be needing to restart them frequently.

I spoke about various deployment solutions for Windows in my talk at RailsConf… The easiest, of course, is simply Mongrel as a service. The best for multi-user deployments is Apache 2.2.

I’ve submitted a lot of these solutions to the upcoming Rails Deployment book, so I’m a little nervous about sending out detailed notes to everyone. However, if you need some help now, contact me directly and I’ll give you a nudge in the right direction.