Re: [Fwd: Re: FASTCGI with Apache on Windows]

Rob Belics <[email protected]>
Newsgroups gmane.comp.web.fastcgi.devel
Message-ID <[email protected]>
If you look into lighttpd, it's a server that uses fastcgi and does all
this for you.

Jose Adriano Baltieri wrote:

Thierry Pierron wrote:

Hello Mr Pierron, thanks again 4 your answer !

Yes, you can use that model. Start a bunch of processes and let the
fastcgi module to submit request sequentially to each of them. This is
basically CGI-restarted-less-often.

And, of course, if I start up 100 processes and 10 more requests come in
at the same time, I'll have 10 more processes running, isnt it ?

Another model is to use a FastCGI server. Every HTTP request (POST,
GET, HEAD, ...) to a given URL, say "/cgi-bin/fast.cgi" will be
redirected to one persistant process on the web server. If this server
is not multi-threaded, it will process one request at a time, which
often worst than restarting each time a new process, like for CGI.

I like the persistant approach cause is very similar to what I do here.
In my case, from the http server, I dump the request into a ramdrive
folder and, I have another process (persistant) that does the job
delivering back at the same folder the result. Then, http server
dispatches the answer to the browser.

FastCGI server is an independent product ? Or is it simply Apache
configured 4 that ?

When you said that it is not MT on Windows, is this model that you said
that does not work ?

In fact, it MUST be MT !

You have to handle concurent connection through separate threads, like
shown in the threaded.c example (fcgiapp dll), so that a slow
connection won't block your entire server.

Of course. And it's the elegant way to do that.

But, well, all of this is rather low level, and painful to manage,
even with careful design. C/C++ is useful only when speed does really
matters, for performing overkill process. For most cases, I would look
at higher level language, or at least more adapted, like PHP, Python
or Ruby. All those implement mecanisms similar to FastCGI, like
persistant process, load-balancing, and the likes .... you'll spent
much less times with them than C/C++.

OK. What I need is simply something to make a bridge amongst the http
server and this external process that I told you above. Currently I do
that using the http server API but, I have to replace it. It's written
in C++ but I dont manage the thread creation. I simply run "inside" a
previously created thread. So, that's not so difficult.

But, this web server (WebSite from OReilly) has been discontinued. So,
I'll throw away it all...

All work is done inside a FastCGI server, that can be directly
accessed through a specific URL. Messaging is done through simple
text/plain, images transfered as PNG or JPEG, and a bit of HTML for
linking all that. Low-level access to bitmap along with fancy image
format make that C/C++/FastCGI work pretty well for us.

Again, I'm confused (intrigued) about what you call a FastCGI server....

Aur revoir !

___________________________________
fastcgi-developers mailing list
http://fastcgi.com/fastcgi-developers/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.