我想让我的Django项目在生产服务器上运行。Django apache-wsgi配置问题
我使用pip设置环境,所以它与一切运行良好的开发环境相同。唯一的区别是我不会在生产环境中使用virtualenv,因为这个项目是唯一一个将在生产环境中运行的项目。在生产环境中,还有一个Nginx反向代理服务器用于提供静态内容,并将动态请求传递给Apache2。
Apache的WSGI文件如下:
import sys, os
sys.path.append('/home/project/src')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
当我访问服务器,我得到一个导入错误:
ImproperlyConfigured: Error importing middleware middleware: "cannot import name UserProfile"
这是指middleware.py在src /文件夹,其中由设置引用。但是我可以从./manage.py shell提示符中导入中间件和UserProfile类。
这似乎是与wsgi文件中的路径问题,但我看不到什么。目录结构是:
/home/project
/home/project/src (which contains the settings.py, middleware.py and app folders)
/home/apache/apache.wsgi
任何帮助,非常感谢。
感谢, OMAT
您安装的应用程序的外观如何?尝试添加“/ home/project /”到您的sys路径 – Prashanth 2010-06-17 12:22:16
尝试添加您输入的路径'django-admin.py ...' – deostroll 2010-06-17 12:27:37
我安装的应用程序如下所示:INSTALLED_APPS =('django.contrib.auth' ,...,'profiles','products',...)。你的意思是在wsgi文件的sys.path中添加“/ home/project”?这没有奏效。 – omat 2010-06-17 12:59:32