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
