在FastCGI apache服务器上安装Django时,我从错误日志中得到这个错误。

[Tue Feb 19 10:28:54 2013] [warn] [client 74.59.229.207] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Tue Feb 19 10:28:54 2013] [error] [client 74.59.229.207] Premature end of script headers: mysite.fcgi
[Tue Feb 19 10:28:54 2013] [error] [client 74.59.229.207] Premature end of script headers: 500.php

我不知道问题是来自服务器设置还是我的.fcgi代码。
.htaccess接口
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(adminmedia/.*)$ - [L]
RewriteCond %{REQUEST_URI} !(mysite.fcgi)
RewriteRule ^(.*)$ mysite.fcgi/$1 [L]

mysite.fcgi网站
#!/usr/bin/python
import sys, os

sys.path.insert(0, "/home2/lacliniq/opt/python27/bin/python")
sys.path.insert(1, "/home2/lacliniq/opt/python27/lib")

os.chdir("/home2/lacliniq/public_html/checkupappdev")

os.environ['DJANGO_SETTINGS_MODULE'] = "firstaid.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

我觉得.fcgi代码没有问题,因为它在从shell运行时按预期运行。
如果有人能帮助我走上正确的道路,那真的会有帮助的!

最佳答案

就像乔丹说的,这是fcgi文件的问题。
我也有同样的问题想让Django在bluehost上工作。首先要检查的两件事是,fcgi文件设置为755,并使用以下命令确保设置文件的格式正确:

python manage.py runserver

如果这些都没问题,试试我在https://my.hostmonster.com/cgi/help/585找到的解决方案。从那里的方向:
cd <fcgi directory>
unset PYTHONPATH
./mysite.fcgi

如果出现以下错误:
bad interpreter: No such file or directory

意思是说“shebang”(#!)行指向不存在的文件或目录,或者FCGI通过FTP以二进制模式上传,而不是ASCII。

关于python - 在fastCGI apache服务器上安装Django时找不到错误日志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14964023/

10-09 01:11