2013-02-19 34 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 
相關問題