2012-09-06 71 views
1

Nginx,Gunicorn,Supervisor,New Relic,Django,Postgres等的全新安裝。點擊URL會導致大量的「內部服務器錯誤」。在Nginx中調試Django/Gunicorn

在Nginx的配置開啓調試提供了一大堆的細節,但沒有指向是什麼原因造成的500錯誤(只是它正在發生。)

接下來,我通過supervisorctl關閉Gunicorn和通過python manage.py runserver啓動應用程序,點擊URL,一切運行良好。

退一步,關閉runserver使用bin/gunicorn_django手動啓動Gunicorn,這是最接近可用跟蹤日誌,我已經能夠得到:

2012-09-05 21:39:25 [5927] [ERROR] Error handling request 
Traceback (most recent call last): 
    File "/somewhere/local/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 102, in handle_request 
    respiter = self.wsgi(environ, resp.start_response) 
    File "/somewhere/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
    response = self.get_response(request) 
    File "/somewhere/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 82, in get_response 
    urlconf = settings.ROOT_URLCONF 
    File "/somewhere/local/lib/python2.7/site-packages/django/utils/functional.py", line 185, in inner 
    return func(self._wrapped, *args) 
AttributeError: 'Settings' object has no attribute 'ROOT_URLCONF' 

我不要求爲回答這裏發生的事情,因爲我知道這不是足夠的細節來弄清楚。 ROOT_URLCONF問題是通用的,可能是由很多事情造成的。我的問題是我可以使用哪些後續步驟來繼續追蹤正在發生的事情?

感謝

+0

問題發生在gunicorn實際上無法找到設置文件。指定設置駐留在我的管理員配置中的目錄後,它開始工作。很高興我明白了,仍然困惑於爲什麼它是必要的。同樣的應用可以在另外兩臺服務器上運行,而不需要這個規範。 – zgohr

回答

3

Settingssettings的提及(注意是大寫)是可疑的。我已經注意到使用Aptana Studio後,在輸入from django.conf import後出現的其中一個自動完成選項是Settings,但這顯然不是您真正想要的。也許類似的事情發生了,你接受了不正確的自動填充選擇?我會搜索你的項目Settings(當然,大小寫敏感),並將其改爲適當的小寫。

+0

哇,很好的接收。 –