Python EC2上Django 1.6的500内部服务器错误,Django.wsgi

Python EC2上Django 1.6的500内部服务器错误,Django.wsgi,python,django,apache,amazon-web-services,amazon-ec2,Python,Django,Apache,Amazon Web Services,Amazon Ec2,我刚刚在EC2服务器上完成了Django 1.6的安装(或尝试安装),但我似乎在使用Django.wsgi时遇到了问题 我已经安装了Django 1.6、httpd和mod_wsgi,我得到了“服务器遇到内部错误或配置错误,无法完成您的请求” 请与服务器管理员联系,root@localhost..." 我知道我在某个地方犯了一个错误,但我似乎不明白错误日志试图告诉我什么。我看到底部附近有一些数据库错误,我还没有设置任何错误,但上面的错误肯定是来自另一个问题 以下是错误日志中的最新信息: [Wed

我刚刚在EC2服务器上完成了Django 1.6的安装(或尝试安装),但我似乎在使用Django.wsgi时遇到了问题

我已经安装了Django 1.6、httpd和mod_wsgi,我得到了“服务器遇到内部错误或配置错误,无法完成您的请求”

请与服务器管理员联系,root@localhost..."

我知道我在某个地方犯了一个错误,但我似乎不明白错误日志试图告诉我什么。我看到底部附近有一些数据库错误,我还没有设置任何错误,但上面的错误肯定是来自另一个问题

以下是错误日志中的最新信息:

[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82] mod_wsgi (pid=1973): Exception occurred processing WSGI script '/home/ec2-user/Django-1.6/joshsite/apache/django.wsgi'.
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82] Traceback (most recent call last):
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     self.load_middleware()
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 47, in load_middleware
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     mw_class = import_by_path(middleware_path)
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/utils/module_loading.py", line 21, in import_by_path
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     module = import_module(module_path)
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 40, in import_module
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     __import__(name)
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/contrib/auth/middleware.py", line 3, in <module>
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     from django.contrib.auth.backends import RemoteUserBackend
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/contrib/auth/backends.py", line 3, in <module>
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     from django.contrib.auth.models import Permission
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/contrib/auth/models.py", line 48, in <module>
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     class Permission(models.Model):
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 96, in __new__
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     new_class.add_to_class('_meta', Options(meta, **kwargs))
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 264, in add_to_class
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     value.contribute_to_class(cls, name)
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/models/options.py", line 124, in contribute_to_class
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/__init__.py", line 34, in __getattr__
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     return getattr(connections[DEFAULT_DB_ALIAS], item)
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/utils.py", line 198, in __getitem__
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     backend = load_backend(db['ENGINE'])
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/utils.py", line 131, in load_backend
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     raise ImproperlyConfigured(error_msg)
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82] ImproperlyConfigured: 'mysql' isn't an available database backend.
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82] Try using 'django.db.backends.XXX', where XXX is one of:
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82]     u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
[Wed Apr 23 02:39:00 2014] [error] [client 75.75.80.82] Error was: No module named mysql.base
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82] mod_wsgi (pid=1976): Exception occurred processing WSGI script '/home/ec2-user/Django-1.6/joshsite/apache/django.wsgi'.
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82] Traceback (most recent call last):
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     self.load_middleware()
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 47, in load_middleware
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     mw_class = import_by_path(middleware_path)
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/utils/module_loading.py", line 21, in import_by_path
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     module = import_module(module_path)
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 40, in import_module
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     __import__(name)
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/contrib/auth/middleware.py", line 3, in <module>
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     from django.contrib.auth.backends import RemoteUserBackend
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/contrib/auth/backends.py", line 3, in <module>
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     from django.contrib.auth.models import Permission
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/contrib/auth/models.py", line 48, in <module>
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     class Permission(models.Model):
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 96, in __new__
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     new_class.add_to_class('_meta', Options(meta, **kwargs))
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 264, in add_to_class
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     value.contribute_to_class(cls, name)
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/models/options.py", line 124, in contribute_to_class
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/__init__.py", line 34, in __getattr__
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     return getattr(connections[DEFAULT_DB_ALIAS], item)
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/utils.py", line 198, in __getitem__
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     backend = load_backend(db['ENGINE'])
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]   File "/usr/lib/python2.6/site-packages/django/db/utils.py", line 131, in load_backend
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     raise ImproperlyConfigured(error_msg)
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82] ImproperlyConfigured: 'mysql' isn't an available database backend.
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82] Try using 'django.db.backends.XXX', where XXX is one of:
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82]     u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
[Wed Apr 23 02:39:03 2014] [error] [client 75.75.80.82] Error was: No module named mysql.base
我已经将其添加到httpd.conf中

<VirtualHost *:80>
    DocumentRoot /home/ec2-user/Django-1.6/joshsite
    ServerName ec2-54-187-46-240.us-west-2.compute.amazonaws.com
    ErrorLog /home/ec2-user/Django-1.6/joshsite/logs/apache_error.log
    CustomLog /home/ec2-user/Django-1.6/joshsite/logs/apache_access.log combined
    WSGIScriptAlias / /home/ec2-user/Django-1.6/apache/django.wsgi


    <Directory /home/ec2-user/Django-1.6/joshsite/media>
        Order deny,allow
        Allow from all
    </Directory>

    <Directory /home/ec2-user/Django-1.6/apache>
        Order deny,allow
        Allow from all
    </Directory>

    LogLevel warn

    Alias /media/ /ec2-user/Django-1.6/joshsite/media/
</VirtualHost>
这是我的URL.py:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'joshsite.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^home/', 'joshsite.views.home', name='home'),
)
更新: 有时在/,我会收到一个404错误:

Request Method: GET
Request URL:    http://ec2-54-187-46-240.us-west-2.compute.amazonaws.com/
Using the URLconf defined in joshsite.urls, Django tried these URL patterns, in this order:
^admin/
^home/ [name='home']
The current URL, , didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
Thank you in advance for any assistance.

但在刷新后,它有时会返回到500,几乎就像随机选择的一样。

检查
数据库
设置中的
设置。看起来你的
引擎坏了。尝试更改为:

'ENGINE': 'django.db.backends.mysql',

如果这不起作用,请发布您的数据库设置。

Nice,我重新加载了页面(在/),它变为404,它说使用joshsite.URL中定义的URLconf,Django尝试了这些URL模式。。。未匹配其中任何一个,并且该调试设置为true/在家里,我的成绩仍然是500分。我将使用设置添加新的回复/编辑我的帖子。好的,现在这不是设置问题,而是新问题。我会关闭这一个,并开始一个新的问题与您的新问题。在其中,包括您访问的url、您的
url.py
文件,以及您收到的错误消息的更多详细信息。谢谢,非常感谢。在我将debug设置为false之后,现在这只是一个500错误,所以我想最好重新发布此错误。您的新错误看起来与旧错误相同。您是否错误地回滚了数据库更改?或者粘贴了错误的新错误消息。
Request Method: GET
Request URL:    http://ec2-54-187-46-240.us-west-2.compute.amazonaws.com/
Using the URLconf defined in joshsite.urls, Django tried these URL patterns, in this order:
^admin/
^home/ [name='home']
The current URL, , didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
Thank you in advance for any assistance.
'ENGINE': 'django.db.backends.mysql',