help-serveez
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[help-serveez] Re: Serveez


From: Raimund 'Raimi' Jacob
Subject: [help-serveez] Re: Serveez
Date: Fri, 31 Jan 2003 07:42:44 +0100 (CET)

On Thu, 30 Jan 2003, Zhou, Lixin wrote:

> Hello Stefan and Raimund,

hello!

let's discuss this on the help-serveez mailing list since this might be
interesting for other people as well...

> Serveez is a great framework!  Thanks for the gift to the community!

> I was looking for a HTTP server replacement for Apache because Apache is
> slower than I wanted when I ran CGI/Guile.  Mod_guile did not compile at my
> first try, so I gave up (for now).

sounds reasonable. since serveez is also very good with delivering static
files :-) however, mod_guile could perform very good as well...

> I have not looked the code of Serveez / HTTPd, but a quick installation and
> test tells me it does not seem to support CGI/PATH_INFO by default
> installation.  For example, if the CGI script is "main.scm", this URL does
> not seem to work: http://localhost:8888/cgi-bin/main.scm/my/menu
> <http://localhost:8888/cgi-bin/main.scm/my/menu> , because the Serveez HTTPd
> looks for the script "menu".  Of course, this could be simply a
> configuration problem.

it isn't. serveez currently doesnt know about path info and such. it just
tries to execute anything below the cgi-dir...

however, changing this is _relativly_ easy: changing the method that
detects cgi requests shouldnt be a problem, passing the PATH_INFO from
there might be somehow tricky, but possible...

we do accept patches :-)

> Because I needed a lightweight web server really quick this morning to run
> my slow Guile-CGI scripts, I had to find one that works.  It was "boa".
> Nevertheless, I like to use Serveez because it's extensible in Guile!

> Here are my other questions:
> 
> 1.    CGI support is great.  However, I'd like to develop web applications
> in Guile.  Can we "extend" the HTTP server to do that (bypass CGI; integrate
> applications and HTTPd)?  The reason to do that is 1) to have guile start
> only once, 2) to keep a permanent pool of database connection.  CGI script
> startup is very slow if things are written using Guile (Apache/CGI/Ruby or
> Apache/PHP is fast enough for me though)

mmmmmhhhh. well, implementing new servers is easy, especially in
guile. implementing plugins for the existing http server is not easy, the
http server is not pluggable (that's the reason why the nut-server has
much of it duplicated).

the way to go would be to fix the http-server, i think. but that's a lot
of work. a hotfix is to implement the http server entirely in guile. i am
sure you will find existing ones to re-use code from (header parsing and
such). this will fix problem 1),

a note on problem 2): a 'pool' of connections is a bit pointless since
serveez is inherently single-threaded, so at most one connection at a time
is being served - the 'pool' could be of size 1.

you can use multi-threaded features of guile, i think, but be sure to talk
to serveez from one thread only or you will destroy internal state of
serveez.

> 2.    If we use CGI, can we have the server interpret the guile CGI script
> directly, just as mod_perl does?

unfortunately not, see above.

> Thanks!

> Lixin Zhou
> Illumina, Inc
> San Diego, CA
> http://www.illumina.com <http://www.illumina.com/> 

i hope that helped a little.

Bye,
    Raimund

--
      __/\     _/\    _____/\.___/\
     /   /    /  /___/   ____/  __/\     Name    : Raimi
    /   /  __/    __/   / __/  / _\/     Contact : address@hidden
   /   /__/ /     \/   /_/_/  /_/        Visit   : http://www.lkcc.org
  /________/___/\._\._____/_____/\       3.141592653589793238462643383
  \._______\.__\/__/\.____\.____\/       27950288419716939937510582097






reply via email to

[Prev in Thread] Current Thread [Next in Thread]