已解决:很遗憾我无法解决问题,但我重新开始并按照Django + FastCGI guide上的"A Small Orange" wiki进行操作,一切正常。
我正在尝试在Apache上使用FCGI设置Django。我使用的网络托管计划是A Small Orange的共享主机方案。
Django已安装,正常运行,并且能够在运行syncdb命令时创建数据库表。如果我运行manage.py runserver
然后使用lynx导航到localhost:8080
django将正确显示。但是,由于页面显示500内部服务器错误,因此无法通过Internet查看django。
我安装了flup python包,并使用的是python 2.6版。
以下是位于/public_html/
的.htaccess文件的内容:
RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(admin_media/.*)$ - [L]
RewriteRule ^(dispatch\.fcgi/.*)$ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]
以下是我的dispatch.fcgi文件的内容,该文件也位于/public_html
中:
#!/usr/local/lib/python2.6
import sys
import os
os.chdir('/home/thegamer/django/projects/thegamer')
sys.path += ['/home/thegamer/django/django']
sys.path += ['/home/thegamer/django/projects']
from fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'thegamer.settings'
WSGIServer(WSGIHandler()).run()
答案 0 :(得分:1)
您使用的是sqlite吗?如果是这样,您需要db文件的绝对路径,而不是相对路径。
如果不是这样,请在你的设置中设置DEBUG = True,然后让django告诉你它是什么。
答案 1 :(得分:1)
重新开始并跟随Django + FastCGI guide上的"A Small Orange" wiki,导致所有内容按预期运行。
答案 2 :(得分:1)
我刚才遇到了同样的问题。花了一些时间,但我终于能够在A Small Orange(非常有帮助!)支持人员的帮助下解决它。
您需要确保dispatch.fcgi
文件chmod
已编辑为755.其他任何内容(我的是775)都会导致此错误。