我正在與我的主機提供商合作,讓Django應用程序啓動並運行,但我們都不是很有經驗,而且我們基本上已經完成了死路一條。無法解決Django設置中的mod_wsgi異常
我沒有conf文件直接訪問,但這裏是如何它的內容已經向我描述:
<IfModule mod_wsgi.c>
WSGIScriptAlias /fredapp/ /home/fred/public_html/cgi-bin/fredapp/apache/django.wsgi
WSGIDaemonProcess fred threads=15 display-name=%{GROUP} python-path=/home/fred/public_html/cgi-bin/fredapp/apache/
WSGIProcessGroup fred
WSGIApplicationGroup %{GLOBAL}
</IfModule>
Alias /robots.txt /home/fred/public_html/fred-site/robots.txt
Alias /favicon.ico /home/fred/public_html/fred-site/favicon.ico
Alias /settings/media/ /home/fred/public_html/fred-site/media/
我「django.wsgi」的劇本是沒有任何幻想:
import os, sys
sys.path.append('/home/fred/public_html/cgi-bin/')
sys.path.append('/home/fred/public_html/cgi-bin/fredapp/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'fredapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
所以我的理解是,所有這一切意味着,如果一個請求進入domain.com/fredapp/,它應該通過django.wsgi移交給應用程序。但是,我得到的唯一回應是:
[Fri Jan 22 18:46:08 2010] [error] [client xx.xxx.xx.xx] File does not exist: /home/fred/public_html/domain.com/500.shtml
[Fri Jan 22 18:46:08 2010] [error] [client xx.xxx.xx.xx] mod_wsgi (pid=26760): Exception occurred processing WSGI script '/home/fred/public_html/cgi-bin/fredapp/apache/django.wsgi'.
[Fri Jan 22 18:46:03 2010] [error] [client xx.xxx.xx.xx] File does not exist: /home/fred/public_html/domain.com/404.shtml
[Fri Jan 22 18:46:03 2010] [error] [client xx.xxx.xx.xx] File does not exist: /home/fred/public_html/domain
這是在Linux上運行的Apache。我試着在服務器上的Python解釋器中運行.wsgi腳本的每一行,並且它們都沒有返回任何錯誤。我也嘗試了sys.stdout = sys.stderr
的訣竅,沒有得到比上述更多的輸出。該文件不存在錯誤必須與該網站的其他設置,並在任何請求發生。我還沒有完成正確的設置(錯誤頁面和索引頁面等),因爲我只是想讓應用程序本身運行。
我已經在自己的機器上運行了Apache下的這個應用程序,雖然不是在守護進程模式下,但它是我的第一個Django應用程序,我不認爲我的託管提供程序曾經配置過,所以我們有點瞎了。如果有人有任何建議,我會非常感激。謝謝!
在Apache錯誤日誌文件中'異常發生處理WSGI腳本'之後應該有回溯或其他消息。他們是什麼? – 2010-01-22 08:38:56