我想讓我的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