Eu finalmente descobri como resolver isso. Primeiro de me preocupar em atualizar ubuntu para 10.10 de 10.04 porque o servidor ofereceu apenas 128MB (256 MB de capacidade de expansão) e acabou com o upgrade médio. Talvez a solução para esse problema seja simplesmente atualizar ubuntu . No entanto, atualizei as mod-wsgi instalando-as a partir da fonte como descrito aqui , mas isso não parece afetar nada.
O avanço veio quando eu instalei apache2-mpm -prefork por meio de apt-get install apache2-mpm-prefork
, para usar isso em vez de apache-mpm-worker como dimmer sugerido. Não tenho certeza se o problema é que ter apache- O mpm-worker estava fazendo com que meus outros erros não fossem registrados, talvez a próxima pessoa que encontrar problema possa tentar ignorar essa etapa. Quando mudei para apache-mpm-worker o log de erros do apache apresentou os seguintes erros:
mod_wsgi (pid=1436): Exception occurred processing WSGI script '/usr/local/django/deals/apache/django.wsgi'.
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/handlers/wsgi.py", line 250, in __call__
self.load_middleware()
File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/handlers/base.py", line 39, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/conf/__init__.py", line 89, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'deals.settings' (Is it on sys.path?): No module named deals.setting
Isso ocorre porque não conseguimos importar o módulo de configurações. A integração do wsgi com a documentação do Django explicou que eu preciso adicionar caminhos de inclusão, uma vez que eu atualizei /usr/local/django/deals/apache/django.wsgi
everything correu suavemente.
import os, sys
sys.path.append('/usr/local/django/deals')
sys.path.append('/usr/local/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'deals.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()