Running Squeak and Seaside as a Service

There are various methods for running Squeak as a service under windows, however, the only one I've found to work well is using srvany from the Windows NT Resource Kit. I drop both srvany and instsrv into the windows/system32 directory so they're available from the command prompt.

To setup a Squeak image as a service, I pull up a command prompt and run the following...

instsrv $Name$ c:\\winnt\\system32\\srvany.exe

where $Name$ is usually the application name this image will be hosting. Then, to avoid editing the registry by hand, I have a template on hand that I edit to include the additional info necessary to get Squeak going. It looks like this...

Windows Registry Editor Version 5.00

"AppDirectory"="C:\\\\Program Files\\\\Squeak"
"AppParameters"="-headless C:\\\\PathToSqueak\\\\Squeak3.8.1Working.image"

I edit the $Name$ to match the previously chosen name. Edit the path to Squeak to point to the directory the image is in, which ends up in a directory matching the service name, usually somewhere of the Inetpub directory. I save the template and double click it to enter the info into the registry. Then I'll fire up the image one last time by hand, choose a port for the Comanche web server to run on, make sure everything is working, shut it down, and start the service.

From here on out, I usually manage the image via the "screen shot" and "versions" applications built into Seaside, and one small auto upgrade script I wrote that points to my Monticello repository and loads the latest version of any package I point it at.

I host Seaside applications behind an Apache proxy, allowing Apache to handle all static content, and Seaside all dynamic content, but that's another article.

about me|good books|popular posts|atom|rss