I'm a big fan of SCGI, a Fast CGI-like way of running a persistent server in an external process. There are a number of reasons why SCGI is pretty nice: it's clean, simple, has a simple protocol specification, and has a nice library. One reason I like to use it is that it integrates well with Apache: I can easily configure virtual hosts that direct requests to Web apps via SCGI, and the actual Web app can run as whatever user you want.
I tend to run a lot of SCGI servers, however, because I deploy a number of Web sites for various people. At the moment, I simply run them in screen, but that's awfully tedious for 15 different Web apps, and it doesn't work well when you have to reboot machines ;).
So, today I googled around a bit for start/stop scripts -- I'm not sure exactly what I'm looking for, but figured a bit of basic research would be a good start -- and noticed two amusing factoids.
First, there's a Wikipedia entry for SCGI! Kinda cool, even if it just a stub.
Second, some Ruby folk seem to have embraced it: check out Zed Shaw's Ruby On Rails SCGI Runner page. Neat -- I didn't realize SCGI was used outside the Python community. This page also has a long list of reasons why SCGI is particularly neat; it's worth reading.
I also ran across some nice links: flup, and Deploying TurboGears with Lighttpd/SCGI.
--titus