Во-первых, вот мой сценарий:ошибки WSGIServer при попытке запустить 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")
Как было описано here.
И вот Я получаю ошибку при попытке запустить его из оболочки:
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 -->
Мой вопрос, почему не те PARAMS прошли автоматически FastCGI? Что я делаю не так? Запуск сценария с моего веб-сервера просто дает мне внутреннюю ошибку сервера.
Вместо двух последних строках моего сценария, я могу использовать
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()
Но я все еще получаю ту же самую ошибку ...
Почему вы не используете mod_wsgi? –
@ S.Lott: Несколько лет спустя, но я был на общем хозяине. Не имел доступа к WSGI. – mpen