簡體   English   中英

FastCGI,Apache,Django和500錯誤

[英]FastCGI, Apache, Django and 500 Error

我在使用Apache和FastCGI時遇到500內部錯誤。 一整天都在尋找原因:-/

/etc/apache2/vhost.d/mysite.conf

FastCGIExternalServer /home/me/web/mysite.fcgi -socket /home/me/web/mysite.sock
Listen 80
<VirtualHost *:80>
        ServerName os.me #That's my localhost machine
        DocumentRoot /home/me/web
        Alias /media/ /home/me/develop/projects/media

        <Directory "/home/me/web">
                AllowOverride All
                Allow from all
                Order allow,deny
        </Directory>

</VirtualHost>

/home/me/web/.htaccess

Options +Indexes +FollowSymlinks
AddHandler fastcgi-script .fcgi

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]

/home/me/web/mysite.fcgi

#!/usr/bin/python
import sys, os

os.chdir("/home/me/develop/projects/mysite")
os.environ['DJANGO_SETTINGS_MODULE'] = "mysite.settings"

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

在/ var /日志/的Apache2 / error_log中

...    
[Sat Aug 07 01:41:13 2010] [error] [client 127.0.0.1] (2)No such file or directory: FastCGI: failed to connect to server "/home/me/web/mysite.fcgi": connect() failed
[Sat Aug 07 01:41:13 2010] [error] [client 127.0.0.1] FastCGI: incomplete headers (0 bytes) received from server "/home/me/web/mysite.fcgi"

.fcgi文件的執行(它作為html頁面的狀態為“ 200 OK”,並按應有的方式呈現):

me@os ~/web $ python mysite.fcgi 
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
Status: 200 OK
Content-Type: text/html
...

感謝#django irc頻道的幫助(特別是zk)。

FastCGIExternalServer /home/me/web/mysite.fcgi -socket /home/me/web/mysite.sock

必須更改為(因為apache應該生成fcgi進程本身):

FastCGIServer /home/me/web/mysite.fcgi -socket /home/me/web/mysite.sock

暫無
暫無

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

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