Re: Instant Rails as a Windows service

Brian Hogan
Mon, 25 Jun 2007 13:04:44 -0000

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.


On 6/25/07, Gearoid
<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
wrote:
>
>
> David Mitchell wrote:
> > 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
> > stands.
> >
> > 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.
> >
> > Regards
> >
> > Dave M.
>
> Hey -
>
> This was a great help thanks. Got it working.
> Gearoid
>
> --
> Posted via http://www.ruby-forum.com/.
>
> >