Windows Deployment questions

Hello out there in Rails land. This is a multipart question so please
bear with me…

First, the background info:

I’ve been making Apache work on our Windows servers here and I’m having
good luck. However, I notice that Apache+FCGI doesn’t scale quite as
well as I’d hoped.

I have one static process defined for my FastCGI server, and I see about
5 requests per second when I do benchmarking

(ab -n 100 -c 10 http://domain.com/)

I am using MySQL and SQLite for my tests, and sessions are using the
default (PStore)

I’ve tested against the setup at my hosting provider (Dreamhost) and I
see the same results, so I don’t think it’s a Win32 vs Linux thing.

Now to the questions:

Question 1: Is Apache not going to cut it? Or is there some other
tweaking I can do?)

Question 2: I’ve spent half a day getting a rails app to work on
Lighttpd under Win32 using http://www.kevinworthington.com:8181/?cat=20
and
http://pinkpucker.net/articles/2006/01/31/getting-multiple-rails-sites-g
oing-on-one-domain-using-lighttpd but I cannot serve an app…

Fcgi_crash log shows that it starts and terminates immediately.
I receive 503: Service Unavailable in the browser
I see this in the error log:

2006-02-20 13:09:41: (mod_fastcgi.c.2996) write failed: Connection
reset by peer 104
2006-02-20 13:09:56: (mod_fastcgi.c.3366) fcgi: got a FDEVENT_ERR.
Don’t know why.
2006-02-20 13:10:00: (mod_fastcgi.c.3366) fcgi: got a FDEVENT_ERR.
Don’t know why.

Production.log in the rails app shows nothing.

So, does anyone have any ideas on what I’m doing wrong? I’m trying this
with an existing app that works in webrick and apache.

Here’s the relevant part of my config (I’m attempting to run this in an
aliased folder for use with our proxy server, although I still receive
the errors if I set this up as a virtual host instead)

$HTTP[“url”] =~ “^/code” {
server.document-root = “e:/sites/rails/codelite/public/”
alias.url = ( “/code” => “e:/sites/rails/codelite/public” )
server.error-handler-404 = “/code/dispatch.fcgi”
Server.errorlog = “/home/joevd/lighttpd/cisv-error.log”
server.indexfiles = ( “dispatch.fcgi”, “index.html” )

fastcgi.server = ( “.fcgi” =>
((
“socket” => “c:/lighttpd/tmp/code.socket”,
“min-procs” => 1,
“max-procs” => 1,
“bin-path” => "“e:/sites/rails/codelite/public/dispatch.fcgi”,
“bin-environment” => ( “RAILS_ENV” => “production” )
)))
}

Thanks in advance. I’m hoping that there’s more people than just me
attempting to do this on Windows machines. (Linux might happen
eventually, but one step at a time!)

Brian H.
Web D.
Learning & Technology Services
Schofield 3-B
University of Wisconsin-Eau Claire
715 836 3585
[email protected]