簡體   English   中英

在fastCGI apache服務器上安裝Django時找不到錯誤日志

[英]Can't figure out error log when installing Django on fastCGI apache server

嘗試在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二進制模式通過ftp上傳的。

嘗試更改“觀點”:以apache用戶身份運行fcgi文件(我敢肯定會顯示一些有趣的消息)。 例如

$ sudo su www-data
$ cd <fcgi directory>
$ ./mysite.fcgi

.fcgi文件可能有問題,甚至更有可能是在配置django站點時遇到了一些麻煩。

嘗試直接在具有./mysite.fcgi的外殼中運行.fcgi。 它應該吐出一些錯誤,這將給您帶來一些疑難解答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM