2

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 コードは問題ないように感じます。誰かが私が正しい道を歩むのを助けることができれば、それは本当に助けになるでしょう!

4

3 に答える 3

2

「視点」を変更してみてください: fcgi ファイルを apache ユーザーとして実行します (興味深いメッセージが表示されるはずです)。例えば

$ sudo su www-data
$ cd <fcgi directory>
$ ./mysite.fcgi
于 2013-10-18T19:20:37.770 に答える
0

.fcgiファイルに問題がある可能性があります。さらに、djangoサイトの構成に問題がある可能性があります。

./mysite.fcgiを使用して、シェルで.fcgiを直接実行してみてください。それはあなたにトラブルシューティングするための何かを与えるいくつかのエラーを吐き出すはずです。

于 2013-02-19T18:42:46.583 に答える