2012-01-28 46 views
1

配置:mod_wsgi的,Django和apache的工作不正常

报名地点: /家庭/ cha0s /你好

WSGI文件目录: /home/cha0s/hello/apache/django.wsgi

django.wsgi

import os 
import sys 


path = '/home/cha0s/hello' 
if path not in sys.path: 
    sys.path.append(path) 
os.environ['DJANGO_SETTINGS_MODEULE']='hello.settings' 



import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

Apache的文件中:/ etc/apache2的/ sites_available /你好

你好

<VirtualHost *:80> 

    ServerName blabla.com 
    DocumentRoot /home/cha0s/hello 




    WSGIScriptAlias http://blabla.com /home/cha0s/hello/apache/django.wsgi 

    <Directory /home/cha0s/hello/apache> 
     Order allow,deny 
     Allow from all 
    </Directory> 


</VirtualHost> 

问:

所以,问题是它种工程,但它只是打开目录就像一个文件列表,不像django网站。任何想法什么是错的?我读了stackoverflow上的某处mod_python可能是问题,所以我删除它。

回答

1

您需要将'/ home/cha0s'添加到sys.path中。

而且去手表:

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

这说明你可能会得到错误的其他东西,但因为你没有解释是什么错误你得到,很难说还有什么是坏了。

+0

问题是没有错误。它只是将该项目作为文件列表打开,而不是作为django项目。我很确定/ home/cha0s在sys.path上,现在sys.path也没有任何关系,否则会给我一个错误。另外我在mod_python上的其他项目在正常工作的同一个文件夹中。 – Viktor 2012-01-29 05:43:56

+0

我的评论是假设你修正了WSGIScriptAlias的第一个参数,正如别人告诉的。它应该是'/',不能为WSGIScriptAlias的第一个参数添加'http:// ...'值。在其他回应中,当你最终尝试这个时,你说你有500错误。那么,日志中的错误消息是什么。你真的去看这个演示文稿吗?它会逐步完成正确的步骤并解释错误。 – 2012-01-29 11:32:17

+0

顺便说一下,将DocumentRoot设置为源代码的位置存在巨大的安全风险。有人可以用它的密码下载你的settings.py文件。不要设置DocumentRoot并将其默认设置为默认的Apache DocumentRoot。现在去观看演示。 – 2012-01-29 11:33:34

4

您的WSGIScriptAlias行是废话。这是一条路径,而不是一个URL。应该是:

WSGIScriptAlias//home/cha0s/hello/apache/django.wsgi 

此外,您在WSGI文件拼错DJANGO_SETTINGS_MODULE

+0

WSGIScriptAlias//home/cha0s/hello/apache/django.wsgi 您指定的第一个参数'/'是URL,第二个参数是路径。是的,我拼错了DJANGO_SETTINGS_MODULE,但它并没有太大的改变。我通过ssh在服务器上配置它,并从另一个地方访问,另一台基本上'/'现在不适用于我。这就是为什么我通过我的域名访问它,例如blabla.com。 – Viktor 2012-01-28 18:12:56

+0

你错了,第一个参数可以是URL。有可能。但是你也许是对的,它必须指向某个目录或文件。我完全无法弄清楚什么目录。如果我像你说的那样说'WSGIScriptAlias // home/cha0s/hello/apache/django.wsgi',我得到内部服务器错误500.并且如果我把它放在例如/ home中,那么我只是得到列表视图我的文件,这使我想到了一个。 – Viktor 2012-01-29 08:19:02