2011-04-19 63 views
5

我的设置,Django应用程序与Apache2的,的Apache2的mod_wsgi,500内部服务器错误

1)虚拟主机:

<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)WSGI脚本(位于位于/ usr /本地/ Django的/ mysite的/阿帕奇/ 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() 

任何人可以提出什么不顺心?

+3

你能检查apache错误日志('/ var/log/apache2/error.log')中写的是什么吗? – 2011-04-19 08:38:02

+0

[星期二四月19 09:35:23 2011] [错误]异常KeyError:<模块'线程'中'/usr/lib/python2.6/threading.pyc'>的KeyError(-1218622832)忽略 [Tue 4月19日09:35:24] [通知]抓到SIGTERM,关闭 [2011年4月19日09:35:25] [预告] Apache/2.2.14(Ubuntu)PHP/5.3.2-1ubuntu4 with Suhosin-补丁mod_wsgi/2.8 Python/2.6.5配置 - 恢复正常操作 – Elisa 2011-04-19 09:38:19

+0

这个KeyError有点不正常。没有其他的日志? – 2011-04-19 09:47:58

回答

6

似乎有一点问题。看起来像你的“网站 '目录/var/www/mysite

在django.wsgi到你的Python路径此添加。您发布

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

逸岸错误

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

似乎WSGI可以'找到模块的目的地,在django.wsgi中添加目录路径到你的python路径,它应该可以工作

0

如果你有DEBUG=False或您的IP地址不在INTERNAL_IPS任何Django的错误会给你500错误,甚至是东西一样KeyError。通常情况下,生产服务器在启动时会有差异,所以,即使本地主机上的所有内容都运行正常,您可能会发现生产中存在一些问题。

两种方式,看看有什么是错的:

  1. 你的ip只需添加到INTERNAL_IPS(让你的当前IP地址)或设置DEBUGtrue
  2. 采取看看apache的error.log中或在电子邮件你在你的settings.py有设置(错误默认电子邮件)

此外,请记住,你必须进行更改后重新启动服务器。

祝你好运!

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