已解决:不幸的是,我无法解决问题,但我重新开始并遵循了 Django + FastCGI guide在 "A Small Orange" wiki一切都按预期工作。
我正在尝试在 Apache 上使用 FCGI 设置 Django。我使用的网络托管计划是 A Small Orange 的共享托管计划。
当我运行 syncdb 命令时,Django 已安装、工作并且能够创建数据库表。如果我运行 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()
最佳答案
你在用sqlite吗?如果是这样,您需要 db 文件的绝对路径,而不是相对路径。
如果不是这样,请在您的设置中设置 DEBUG=True 并让 django 告诉您它是什么。
关于带有 FCGI 的 Apache 上的 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696308/