配置: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可能是问题,所以我删除它。
问题是没有错误。它只是将该项目作为文件列表打开,而不是作为django项目。我很确定/ home/cha0s在sys.path上,现在sys.path也没有任何关系,否则会给我一个错误。另外我在mod_python上的其他项目在正常工作的同一个文件夹中。 – Viktor 2012-01-29 05:43:56
我的评论是假设你修正了WSGIScriptAlias的第一个参数,正如别人告诉的。它应该是'/',不能为WSGIScriptAlias的第一个参数添加'http:// ...'值。在其他回应中,当你最终尝试这个时,你说你有500错误。那么,日志中的错误消息是什么。你真的去看这个演示文稿吗?它会逐步完成正确的步骤并解释错误。 – 2012-01-29 11:32:17
顺便说一下,将DocumentRoot设置为源代码的位置存在巨大的安全风险。有人可以用它的密码下载你的settings.py文件。不要设置DocumentRoot并将其默认设置为默认的Apache DocumentRoot。现在去观看演示。 – 2012-01-29 11:33:34