带有 FCGI 的 Apache 上的 Django

标签 django apache fastcgi

已解决:不幸的是,我无法解决问题,但我重新开始并遵循了 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/

相关文章:

linux - CGI 无法在 ltib linux 2.6.34 上的 busybox 1.15.0 上使用 httpd 服务器(找不到 404 页面)

apache - 在apache共享主机上部署一个用Nuxtjs制作的通用APP

perl - Apache下应该选择哪种FastCGI服务器模式?

用于网络脚本的 Python

jquery - Django "Similar Objects"基于相似标签集

python,创建动态 html 名称值..

django - 名为 url 的模型字段和 django rest 框架 url

php - 通过 PHP 脚本进行 SQL 注入(inject)

php - spawn-fcgi 在多次连接后死亡

django - 如何在模板代码中设置变量的值?