我正在使用Ubuntu 10.04。 我下创建一个Django项目/home/wong2/Code/python/django2/命名atest 并创建一个WSGI文件setting.wsgi在同一目录 下面是内容setting.wsgi:
/home/wong2/Code/python/django2
atest
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.
第二个目录块与你安装WSGI脚本文件的位置不匹配。尽管将WSGI脚本文件粘贴在存在源代码或其他敏感文件的位置(即同一目录或子目录)是非常不好的做法。相反,你应该将其粘贴在其自己的子目录中。从而:
WSGIScriptAlias / /home/wong2/Code/python/django2/atest/apache/setting.wsgi <Directory "/home/wong2/Code/python/django2/atest/apache"> Order allow,deny Allow from all </Directory>
因此,在“ atest”下创建“ apache”子目录。将“ setting.wsgi”移动到该“ apache”子目录中,并将配置更改为上方。
你的问题还可能是由于主目录上的限制权限所致,因为Apache在内部目录中看不到。