Po pierwsze, tu jest mój skrypt:błędy WSGIServer podczas próby uruchomienia aplikacji Django
#!/usr/bin/python
import sys, os
sys.path.append('/home/username/python')
sys.path.append("/home/username/python/flup")
sys.path.append("/home/username/python/django")
# more path stuff
os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
Jak zostało opisane here.
i tu jest błąd pojawia się podczas próby uruchomienia go z muszli:
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: 404 NOT FOUND
Content-Type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<!-- more html which looks to be the correct output -->
Moje pytanie brzmi, dlaczego nie są te params przekazywane automatycznie przez FastCGI? Co ja robię źle? Uruchomienie skryptu z mojego serwera sieciowego powoduje tylko wewnętrzny błąd serwera.
zamiast dwóch ostatnich linii mojego skryptu, można użyć
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()
Ale nadal uzyskać dokładnie ten sam błąd ...
Dlaczego nie używasz mod_wsgi? –
@ S.Lott: Kilka lat za późno, ale byłem na wspólnym hostie. Nie miał dostępu do WSGI. – mpen