我正在使用Ubuntu 10.04。
我在/home/wong2/Code/python/django2/
下创建了一个名为atest
在同一个目录中创建wsgi文件setting.wsgi
以下是setting.wsgi
的内容:
import os
import sys
path = '/home/wong2/Code/python/django2'
if path not in sys.path:
sys.path.append(path)
os.environ["DJANGO_SETTINGS_MODULE"] = "atest.settings"
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
下面是我在httpd.conf中添加的内容:
<VirtualHost *:80>
ServerName localhost
WSGIScriptAlias / /home/wong2/Code/python/django2/setting.wsgi
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
<Directory "/home/wong2/Code/python/django2/atest">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
问题是,当我访问http://localhost时,上面写着
Forbidden
You don't have permission to access / on this server.
非常感谢。
对于Django 1.5+,您应该使用文档中描述的建议方法:
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/
由于受限的文件权限,我也遇到了同样的问题。
默认情况下,主文件夹用户具有以下设置:
也就是说,除了你自己,没有人能浏览这个文件夹。
在文件夹中添加execute选项解决了我的问题
第二个目录块与安装WSGI脚本文件的位置不匹配。但是,将WSGI脚本文件保存在存在源代码或其他敏感文件的位置(即,相同的目录或子目录)是非常糟糕的做法。相反,您应该将它放在它自己的子目录中。因此:
所以,在“atest”下创建“apache”子目录。将“setting.wsgi”移到“apache”子目录中,并将配置更改为上面的。
您的问题也可能是由于对主目录的限制性权限造成的,因为Apache看不到其中的内容。
去看:
http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations
因为它解释了这些权限问题以及诸如将代码和WSGI脚本文件粘贴到哪里之类的问题。
另请阅读:
http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
相关问题 更多 >
编程相关推荐