使用mod_wsgi安装Django

发布于 2021-01-29 16:42:27

我使用Django
1.0编写了一个应用程序。django测试服务器可以正常工作。但是,当我尝试将其放入更可能的生产环境中时,Apache服务器无法运行该应用程序。我使用的服务器是WAMP2.0。我多年来一直是PHP程序员,并且很久以前就一直在使用WAMPServer。我安装了mod_wsgi.so,看起来工作正常(没有服务错误),但是我无法配置httpd.conf来查看位于服务器根目录之外的python脚本。

就目前而言,我很乐于覆盖文档根目录,而是从文档根目录提供django应用程序,因此httpd.conf行应如下所示:

    WSGIScriptAlias / C:/用户/Marcos/Documents/mysite/apache/django.wsgi

但服务器的响应是403禁止访问

关注者
0
被浏览
179
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    你有:

    WSGIScriptAlias / /C:/Users/Marcos/Documents/mysite/apache/django.wsgi
    

    这是错误的,因为RHS不是有效的Windows路径名。采用:

    WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi
    

    也就是说,Windows驱动器说明符前没有斜杠。

    除此之外,请遵循其他人指出的mod_wsgi文档。


    海报编辑的问题可以更改帖子中现在出现的错字,而不是他的配置有问题。

    在这种情况下,导致403的下一个原因如下。

    首先是您还需要具备:

    <Directory C:/Users/Marcos/Documents/mysite/apache>
    Order deny,allow
    Allow from all
    </Directory>
    

    如果您没有该权限,则不会授予Apache从该目录提供脚本服务的权限,因此将返回FORBIDDEN(403)。

    其次,您确实拥有该文件,但是不承认您这样做,并且该目录或WSGI脚本文件对于Windows服务在Windows下运行的用户不可读。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看