【发布时间】:2013-02-16 07:13:18
【问题描述】:
我正在 Apache 上安装 django 1.4,我也打算为 PHP 应用程序使用相同的网络服务器。 我的操作系统是 Ubuntu 12.04 LTS。如果我在主 conf 文件上进行配置,localhost 将直接指向 Django 安装页面,甚至 PHP 应用程序也是如此。所以我在 /etc/apache2/sites-available 创建了一个 vhost 文件并将其命名为“项目” .但是,在我看来,它无法指向 wsgi 文件。 这是我的配置:
<VirtualHost *:80>
DocumentRoot /var/www/project/
ServerName project
WSGIScriptAlias / /var/www/project/project/wsgi.py
<Directory "/var/www/project/project">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
这是我的 wsgi.py 文件:
import os
import sys
sys.path.append('/var/www/project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我错过了什么?我坚信这与<VirtualHost> 指令有关
因为即使我故意在那里做一些语法错误,它也不会读取 wsgi 文件,并且当我重新启动它时 Apache 没有检测到这些错误。
【问题讨论】:
-
您是否从您的
sites-available文件链接到sites-enabled以实际启用它? -
执行a2ensite项目后,symlinks会在sites-enabled里面自动生成。
-
可能是其他配置覆盖了您的设置?禁用启用站点中的所有其他配置文件,看看它是否有效。
-
好的,现在,在将 Include sites-enabled/project 放入 apache2.conf 并重新启动网络服务器后,我收到 500 错误,但这次它读取 wsgi 文件。日志中的错误是: ImportError:无法导入设置“project.settings”(它在 sys.path 上吗?):没有名为 project.settings 的模块。有什么想法吗?
标签: django