Apache2无法运行WSGI脚本

时间:2012-10-29 02:59:21

标签: apache2 wsgi review-board

我正在linux上安装Reviewboard,我已将安装包提供的配置复制到httpd.conf

    <VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/usr/www/reviewboard/htdocs"

    # Error handlers
    ErrorDocument 500 /errordocs/500.html

    WSGIPassAuthorization On
    WSGIScriptAlias "/reviewboard" "/usr/www/reviewboard/htdocs/reviewboard.wsgi/reviewboard"

    <Directory "/usr/www/reviewboard/htdocs">
            AllowOverride All
            Options -Indexes FollowSymLinks
            Allow from all
    </Directory>

    # Alias static media requests to filesystem
    Alias /reviewboard/media "/usr/www/reviewboard/htdocs/media"
    Alias /reviewboard/errordocs "/usr/www/reviewboard/htdocs/errordocs"
    Alias /reviewboard/favicon.ico "/usr/www/reviewboard/htdocs/media/rbcommons/images/favicon.png"
    </VirtualHost>

但是,当我访问“http://SITE/reviewboard/htdocs/reviewboard.wsgi”时,它只是以纯文本形式提供给我文件而不是运行脚本

我已经通过“apache2ctl -t -D DUMP_MODULES”检查了mod_wsgi在apache2上的运行情况

我是否错过任何其他配置?

1 个答案:

答案 0 :(得分:1)

您应该使用网址:

http://SITE/reviewboard

和WSGIScriptAlias指令应该是:

WSGIScriptAlias "/reviewboard" "/usr/www/reviewboard/htdocs/reviewboard.wsgi"

请注意,将整个Django站点放在DocumentRoot下是不好的做法。您看到WSGI脚本文件的源代码突出显示它为什么不好。也就是说,您的Apache配置存在问题,您可以公开所有源代码供人们下载。如果settings.py在那里并且它包含数据库密码,则特别糟糕。

现在,解决这些问题,并用你当时拥有的内容和下一个问题更新问题,因为我不希望完全解决问题,因为有了这些错误,你应该遇到的问题与你描述的不同,所以怀疑您的配置甚至没有被使用。