2011-04-19 19 views
5

I fija, aplicación Django con Apache 2,Apache 2 mod_wsgi, 500 Error interno del servidor

1) de host virtual:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName alpha101.publisy.com 
    DocumentRoot /var/www/mysite 

    WSGIScriptAlias//usr/local/django/mysite/apache/django.wsgi 
    Alias /static/ /var/www/mysite/media/static/ 
    <Directory /var/www/mysite/media/static> 
     Order deny,allow 
     Allow from all 
    </Directory> 

    Alias /media/ /var/www/mysite/media/ 
    <Directory /var/www/mysite/media> 
     Order deny,allow 
     Allow from all 
    </Directory> 

    ErrorLog /var/log/apache2/error.log 

    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 

    CustomLog /var/log/apache2/access.log combined 

</VirtualHost> 

2) guión wsgi (ubicado en/usr/local/django/proyecto/apache/django.wsgi)

import os, sys 
sys.path.append('/usr/local/django') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 

import django.core.handlers.wsgi 

application = django.core.handlers.wsgi.WSGIHandler() 

¿Alguien puede sugerir qué va mal?

+3

¿Puedes verificar lo que está escrito en el registro de errores de apache ('/ var/log/apache2/error.log')? –

+0

[Mar 19 de abr. 09:35:23 2011] [error] Excepción KeyError: KeyError (-1218622832,) en ignorado [Tue Abr 19 09:35:24 2011] [aviso] capturado SIGTERM, cerrando [mar 19 de abr, 09:35:25 2011] [aviso] Apache/2.2.14 (Ubuntu) PHP/5.3.2-1ubuntu4 con Suhosin- Parche mod_wsgi/2.8 Python/2.6.5 configurado - reanudando las operaciones normales – Elisa

+0

este KeyError es algo normal. Nada más en los registros? –

Respuesta

6

Parece que hay un pequeño problema. Parece que el "sitio 'directorio es /var/www/mysite.

Añadir esto a su trayectoria de pitón en django.wsgi.

sys.path.append('/var/www') 
sys.path.append('/var/www/mysite') 

De hecho el error que se registró

TemplateSyntaxError: Caught an exception while rendering: No module named destinations 

Parece que wsgi puede' t encuentre los destinos del módulo Agregue la ruta del directorio a su ruta python en django.wsgi y debería funcionar.

0

Si tiene DEBUG=False o su dirección IP no está en el INTERNAL_IPS, cualquier error django le dará Error 500, incluso algo como KeyError. Por lo general, el servidor de producción tiene dificultades en el inviroment, por lo tanto, incluso si todo funcionó bien en localhost, es posible que encuentre algunos problemas en la producción.

Dos maneras de ver lo que está mal:

  1. acaba de añadir su ip a INTERNAL_IPS (obtener su dirección IP actual) o un conjunto DEBUG a true
  2. mirada tomar por lo error.log Apache o en el correo electrónico que ha configurado en su settings.py (los errores se envían por correo electrónico por defecto)

Además, recuerde que debe reiniciar el servidor después de realizar cambios.

¡Buena suerte!

1
Traceback Switch to copy-and-paste view 

/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response 
       response = wrapped_callback(request, *callback_args, **callback_kwargs) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py in wrapper 
      return self.admin_view(view, cacheable)(*args, **kwargs) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py in _wrapped_view 
       response = view_func(request, *args, **kwargs) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py in    _      s wrapped_view_func 
    response = view_func(request, *args, **kwargs) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py in inner 
     return view(request, *args, **kwargs) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py in _   s  s  wrapped_view_func 
    response = view_func(request, *args, **kwargs) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py in index 
         model_dict['admin_url'] = reverse('admin:%s_%s_changelist' % info,  current_app=self.name) ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py in reverse 
      app_list = resolver.app_dict[ns] ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py in app_dict 
     self._populate() ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py in _populate 
    for pattern in reversed(self.url_patterns): ... 
▶ Local vars 
/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py in url_patterns 
     raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it"   %  self.urlconf_name) ... 
    ▶ Local vars 
Cuestiones relacionadas