使用Apache2运行mod-wsgi代码(.wsgi)

时间:2010-11-24 21:06:39

标签: apache mod-wsgi

我通过如下设置apache服务器在apache2 / Mac OS X上使用mod_wsgi。

<Directory /Library/WebServer/Documents/wsgi/scripts>
  Order allow,deny
  Allow from all
</Directory>

<IfModule wsgi_module>
  WSGIScriptAlias /test /Library/WebServer/Documents/wsgi/scripts/test.wsgi
</IfModule>

使用此配置,我可以使用http://.../test

调用test.wsgi

现在,我需要通过调用来执行它。

http://.../wsgi/test.wsgi

我有以下代码。

<Directory /Library/WebServer/Documents/wsgi/scripts>
  Order allow,deny
  Allow from all
  AddHandler wsgi-script .wsgi
</Directory>

<IfModule wsgi_module>
  WSGIScriptAlias /test /Library/WebServer/Documents/wsgi/scripts/test.wsgi
  Alias /wsgi/ /Library/WebServer/Documents/wsgi/scripts/
</IfModule>

我考虑过使用Alias以便将wsgi脚本目录链接到/ wsgi /,我希望Addhandler可以处理wsgi文件,但它不起作用。

我的apache2设置有什么问题?

解决

<Directory /Library/WebServer/Documents/wsgi/scripts>
  Options ExecCGI Indexes
  AddHandler cgi-script .cgi
  AddHandler wsgi-script .wsgi

  Order allow,deny
  Allow from all
</Directory>

Alias /wsgi/ /Library/WebServer/Documents/wsgi/scripts/

1 个答案:

答案 0 :(得分:5)

不要将AddHandler与WSGIScriptAlias一起使用,您需要将AddHandler与Alias指令一起使用。您还需要为目录设置ExecCGI选项。参见:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines