环境细节:
Amazon Ec2 Ubuntu 12.04
Django + mod_wsgi + python 2.6
web server: apache2
我已经10GB
ebs volume
将一个实例安装到/mnt/ebs1/
. 安装卷和格式化后,我已将所有项目文件放在/mnt/ebs1/project
. wsgi
文件在/mnt/ebs1/project/apache/django.wsgi
. wsgi文件的内容是:
import os, sys
sys.path.insert(0, '/mnt/ebs1/project')
sys.path.insert(1, '/mnt/ebs1')
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.configs.common.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我的httpd.conf
文件如下所示:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
WSGIPythonHome /usr/bin/python2.6
WSGIScriptAlias / /mnt/ebs1/project/apache/django.wsgi
<Directory /mnt/ebs1/project>
Order allow,deny
Allow from all
</Directory>
<Directory /mnt/ebs1/project/apache>
Order allow,deny
Allow from all
</Directory>
Alias /static/ /mnt/ebs1/project/static/
<Directory /mnt/ebs1/project/static>
Order deny,allow
Allow from all
</Directory>
上面的配置给了我Forbidden: You don't have permission to access / on this server
.
我试图找到正在运行 apache 的用户,使用ps aux
which is www-data
and has group www-data
。我曾尝试使用更改其所有权/mnt/ebs1
及其子目录,chown -R www-data:www-data /mnt/ebs1
但这仍然不能解决问题。谁能告诉我我做错了什么或错过了什么?