Thursday, December 29, 2005

mod_proxy_fcgi

Well, it looks like the little module Paul and I have been hacking on managed to get a bunch of people interested in it last night. Well, I'm glad to see that people like the stuff we're doing, but I do think some of what people are talking about is a bit premature.

So far, we've got a proxy backend module that speaks a subset of the fastcgi protocol. Assuming you've applied the lastest set of patches I posted to dev@httpd.apache.org you can actually run a fastcgi process (listening on a TCP socket) and via a ProxyPass setting tell httpd to hand all requests for a particular part of your URL space off to it. The fastcgi implementation is pretty bare bones, and has a bunch of known problems in it, but it is enough to get "Hello World" to work.

None of this is even close to the final solution we envision for this stuff. We still need to look at unix domain sockets and local fastcgi processes, with a mechanism for starting and stopping those processes as needed, and while we've talked a little about how that should work no code has actually been written for it yet. We'd also like to make the whole thing a lot easier to configure, the final goal being that a simple local fastcgi setup for something like Rails or Django shouldn't need more than one or two lines in httpd.conf.

Anyway, like Paul said, this is all very much a "free time" project for both of us, so no promises on when it'll actually get done, but we are working on it as time permits, and it's made pretty good progress lately, so who knows, maybe there will be something useful in the trunk of the httpd subversion repository fairly soon.