- Ubuntu 12.04 - Ubuntu 12.04
- Apache 2.2.2 - Apache 2.2.2
- Python 3.2.3 - Python 3.2.3
- Django 1.6.1 - Django 1.6.1
我按照在Ubuntu 12.04上使用mod_wsgi部署Django应用的指导设置了Apache和Django的WSGI。但是,虚拟主机域现在返回了一个令人困惑的404错误:
[Mon Dec 16 19:53:49 2013] [error] [client 127.0.0.1] File does not exist: /etc/apache2/htdocs
有点令人困惑的是...那个目录根本不存在。 VirtualHost 设置在 /var/www/main,配置文件在 /var/apache2/sites-available/default 中看起来像这样:
<VirtualHost *:80>
ServerName 127.0.0.1
ServerAlias coral
WSGIScriptAlias / /home/dfy/code/djdev/djdev/wsgi.py
</VirtualHost>
我在编辑后重新加载了Apache。那个wsgi文件是Django在我开始项目时生成的。我根据教程进行了修改,以符合所需内容:
import os
import sys # added from tutorial
sys.path.append('/home/dfy/code/djdev/djdev/') # added from tutorial
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djdev.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
在我看来,这一切似乎应该可以工作,但Apache正在寻找一个不存在的目录(/etc/apache2/htdocs)中的静态文件。我已经搜索了几个小时,试图弄清楚这里出了什么问题,但没有找到答案。出于一时兴起,我尝试了chmod 777 wsgi.py
,但这并没有改变任何东西,所以我确定这不是权限问题。我真的不知道出了什么问题。