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
問題是通用的,可能是由很多事情造成的。我的問題是我可以使用哪些後續步驟來繼續追蹤正在發生的事情?
感謝
問題發生在gunicorn實際上無法找到設置文件。指定設置駐留在我的管理員配置中的目錄後,它開始工作。很高興我明白了,仍然困惑於爲什麼它是必要的。同樣的應用可以在另外兩臺服務器上運行,而不需要這個規範。 – zgohr