beta testing for mod_wsgi

Manlio Perillo manlio_perillo at
Mon Jan 28 13:47:29 MSK 2008

Adrian Perez ha scritto:
> El Mon, 14 Jan 2008 11:34:44 +0100
> Manlio Perillo <manlio_perillo at> escribió:
>> Adrian Perez ha scritto:
>> Note that here you do not need an extra script: you can just do in
>> nginx configuration:
>> env  PYTHON_EGG_CACHE /tmp/test/eggs
>> location / {
>>     wsgi_param  trac.env_path /tmp/test
>>     wsgi_pass /path/to/trac.web.main dispatch_request;
>> }
> Confirmed, this is working in my home server now, but with a glich:
> when /login is accessed, status 404 is returned to the client and the
> returned HTML says "Environment not found". The user will be
> authenticated anyway, because the header with the session cookie is
> sent in the response. You can remove the "/login" from the URL
> afterwards and Trac will see you as authenticated. 
> You may see this behaviour at
> (try to login as guest).

What is the password?
I'm unable to login.

> The traceback looks like the following:
> Traceback (most recent call last):
>    File "/usr/lib/python2.5/site-packages/trac/web/", line 19,in
> <module>
>      import cgi
>    SystemError: Parent module '_wsgi__trac_?' not loaded ,

Ok, this is a bug of mod_wsgi.
The module name is built from the name of the location used, replacing 
'/' with '_'.

In you configuration, the location name is:

and this result in a invalid name for a Python module.

I have to admit that I have never thought about this possibility ;-).

It seems that I have to change the algorithm used for built the module name.

Maybe I should add the possibility to specify the module name in the 
wsgi_pass directive, or I should use an hash of the module name.

 > [...]

Manlio Perillo

More information about the nginx mailing list