[ANN] mod_wsgi draft
Manlio Perillo
manlio.perillo at gmail.com
Sat Sep 15 20:33:27 MSD 2007
Hi all.
I'm pleased to announce the availability of the first working draft of
the wsgi module for nginx.
The code is available as a Mercurial repository:
http://hg.mperillo.ath.cx/nginx/mod_wsgi/
It is possible to download a snapshot in gzip format:
http://hg.mperillo.ath.cx/nginx/mod_wsgi/archive/tip.tar.gz
There is still a lot of work to do and the current implementation has
some limitations (some for design choices, others for keeping the
implementation as simple as possible):
1) I have implemented the WSGI 2.0 draft
(http://wsgi.org/wsgi/WSGI_2.0)
2) "app_iter" must produce only one item
3) Exceptions are not logged
4) Only one WSGI app can be executed, for a given nginx instance
5) SCRIPT_NAME e PATH_INFO environment variables are not supported
(I have asked for help some messages ago)
IMPORTANT: Since the WSGI application is executed in the nginx process
cycle, it can block the entire server.
The documentation is still missing, but you can use the documentation
that came with Apache mod_wsgi:
http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives
nginx mod_wsgi additionally supports the directive "wsgi_param", similar
to fastcgi_param:
http://wiki.codemongers.com/NginxHttpFcgiModule#fastcgi_param
In conf/wsgi_params there are defined tha params required by WSGI.
In example/ there is a small example
To compile nginx, it suffice to do something like:
./configure --add-module=/home/manlio/projects/hg/nginx/mod_wsgi/ \
--with-debug
make
make install
from the main directory of the nginx sources (I'm using version 0.5.31).
By default nginx is installed in /usr/local/nginx, I suggest to choose
as --prefix path a directory where you have write access as a limited
user, so you can install and execute nginx withoud being root.
I would like to thank Igor Sysoev for having released nginx with an Open
Source license, and for having written such a good code (although I
would like to see more documentation :-)).
Many thanks to Evan Miller for his Guide To Nginx Module Development.
And many thanks to Graham Dumpleton (the author of the WSGI module
implementation for Apache) since his module has been an invaluable
resource for me.
Manlio Perillo
More information about the nginx
mailing list