The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Mongrel on Apache 1.3 - ok?

Hi,

I plan on running Mongrel on Apache 1.3 (I'm kinda stuck with 1.3 for a little while). I also don't know much about RoR yet. People write all this stuff about the Apache 2.x/Mongrel combo vs the Apache 1.3/fast cgi combo, and I don't understand why people go for fast cgi when they could use Mongrel. Are there any big, obvious downsides to running Mongrel on Apache 1.3 that I should be aware of? I'm serving up data from MySQL, stylesheets, images, and some SWF/DCR type stuff; no SSL.

So are you saying that it is not good to use mongrel with Apache 1.3? I am also stuck with Apache 1.3 and have RoR running with fastcgi, and I suffered to get FastCGI to play right on my VPS. I was looking into mongrel and it looks like a nice modern alternative. But I can't go to 2.0 just yet.

"You can just hang outside in the sun all day tossing a ball around...
Or you can sit at your computer and do something that matters."
- Cartman

Proxying in Apache 1.3 works fine. However, you will only be able to proxy back to one mongrel instance per application. This is only a problem because Rails is NOT thread-safe, so to protect your application, Mongrel throws a lock around your rails thread. What this means is that Mongrel will only process one request at a time... all the others get queued up.

With Apache 2.2 and mod_proxy_balancer, you can have Apache load balance requests for one resource back to a pack of mongrels. This way, you can process as many rails requests simultaneously as you have mongrel processes running.