If you are trying to run multiple fastcgi scripts, you need one socket
each for them.
The match directive only checks if a fastcgi request should be done, and
it does not affect which script is run.
As said before, it is a proxy plugin, so it treats the fastcgi instance
running on the socket as a server and passes all requests to it.
So yes, it is equivalent to Apache's external mode.

The only difference between the requests is the environment, for a
request for '/cgi-bin/foo.fcgi' and '/cgi-bin/bar.fcgi' only the PATH
environmental variable will differ.

To run different fastcgi scripts, you need different FASTCGI_SERVER
sections on different locations.

On Fri, Jul 26, 2013 at 04:04:57PM +0200, Arnaud Durand wrote:
> The behavior was corrected by renaming to fcgi.sock-0 but I have now [
> Error] [fastcgi] (fastcgi.c:178: errno: Inappropriate ioctl for device)
> Could not connect to fcgi server.

This error is actually only generated when fastcgi is configured with
ServerAddr (TCP socket), not ServerPath (UNIX socket)
> 
> I'm using the latest version from git.
> 
> 2013/7/26 Arnaud Durand <[email protected]>
> 
> > Thank you Sonny for your answer.
> >
> > I think Monkey's fcgi proxy is equivalent to Apache's external mode CGI.
> > When launching manually the python webapp, I get no more error in Monkey
> > log but any request are indefinitely pending (apparently no timeout).
> >
> > Maybe it is now python related but this sample application is supposed to
> > work.
> >
> > I'll investigate more and post a short how-to for people interested as
> > soon as I get it working.
> >
> >
> > 2013/7/26 Sonny Karlsson <[email protected]>
> >
> >> Hi welcome to the monkey mailing list.
> >>
> >> On Fri, Jul 26, 2013 at 05:12:38AM +0200, Arnaud Durand wrote:
> >> > Did anyone managed to configure the FastCGI to work with python?
> >> >
> >> > I tried to adapt this how-to for Apache (
> >> >
> >> http://www.electricmonk.nl/docs/apache_fastcgi_python/apache_fastcgi_python.html
> >> )
> >> > to the Monkey web server with no success.
> >> >
> >> > I'm currently using the following configuration:
> >> > """
> >> > [FASTCGI_SERVER]
> >> >         ServerName py_server1
> >> >         ServerPath /tmp/py-fcgi.sock
> >> >         MaxConnections 1
> >> >
> >> > [FASTCGI_LOCATION]
> >> >         ServerNames py_server1
> >> >         Match /cgi-bin/.*\.fcgi
> >> > """
> >> >
> >> > With the following test.fcgi file:
> >> > """
> >> > #!/usr/bin/env python
> >> >
> >> > def myapp(environ, start_response):
> >> >     start_response('200 OK', [('Content-Type', 'text/plain')])
> >> >     return ['Hello World!\n']
> >> >
> >> > if __name__ == '__main__':
> >> >     from flup.server.fcgi import WSGIServer
> >> >     WSGIServer(myapp, bindAddress = '/tmp/py-fcgi.sock').run()
> >> > """
> >> >
> >> > Log file says [2013/07/26 04:59:44] [  Error] [fastcgi] (fastcgi.c:174:
> >> > errno: No such file or directory) Failed to connect unix socket.
> >> >
> >> > Executing the python script creates the sock and enter an infinite loop
> >> > (expected). If the socket is not deleted, monkey log says [2013/07/26
> >> > 03:57:23] [  Error] [fastcgi] (fastcgi.c:174: errno: Connection refused)
> >> > Failed to connect unix socket.
> >> >
> >> > I think Monkey is supposed to create the socket before calling python
> >> but
> >> > no socket file is created.
> >> > Monkey is running as a standard user. Python script had no troubles
> >> > creating the socket as a standard user.
> >> >
> >> > Thank you for your help.
> >>
> >> While many other web servers interact directly with the fcgi process,
> >> monkey's is only a proxy that speaks the protocol.
> >> You must launch the processes manually.
> >>
> >> Process management has been discussed about before and will probably be
> >> added in the future.
> >>
> >> > _______________________________________________
> >> > Monkey mailing list
> >> > [email protected]
> >> > http://lists.monkey-project.com/listinfo/monkey
> >>
> >>
> >> --
> >> Sonny Karlsson
> >>
> >
> >

-- 
Sonny Karlsson
_______________________________________________
Monkey mailing list
[email protected]
http://lists.monkey-project.com/listinfo/monkey

Reply via email to