2013-02-19 32 views
2

尝试在FastCGI apache服务器上安装Django时,我从错误日志中得到此错误。无法找出在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中运行时。 如果有人能帮助我走上正确的道路,那真的会有帮助!

回答

0

这可能是您的.fcgi文件的问题,或者更可能是配置您的django网站时出现问题。

尝试直接在./mysite.fcgi的shell中运行.fcgi。它应该吐出一些错误,这会给你一些疑难解答。

+0

那么这就是我困惑的地方。如果我在shell中运行脚本,我会得到一个错误404的正常django调试页面,这是可以预料的,因为我没有索引 - 技术上它是正确的。 但我得到这个错误: – 2013-02-19 20:18:58

+0

'WSGIServer:缺少WSGI所需的FastCGI参数REQUEST_METHOD! WSGIServer:缺少WSGI所需的FastCGI参数SERVER_NAME! WSGIServer:缺少WSGI所需的FastCGI参数SERVER_PORT! WSGIServer:缺少WSGI所需的FastCGI参数SERVER_PROTOCOL!' – 2013-02-19 20:19:50

+0

这应该是不言自明的,但我不知道我在哪里定义这些参数。 – 2013-02-19 20:20:45

4

就像乔丹说的那样,这是fcgi文件的问题。

我遇到了同样的问题,试图让Django在bluehost上工作。一对夫妇的事情,首先检查是在FCGI文件设置为755,并确保您的设置文件格式正确使用:

python manage.py runserver 

如果这些事情都OK,试试我发现在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上传的。

2

尝试更改“视角”:以apache用户身份运行fcgi文件(我确信会显示一些有趣的消息)。 例如

$ sudo su www-data 
$ cd <fcgi directory> 
$ ./mysite.fcgi 
相关问题