2011-04-19 65 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