Yet another fastcgi-wsgi gateway

Anton Bessonov exelib at googlemail.com
Wed Sep 16 02:40:43 MSD 2009


Аха, ясно что и для чего.

Огнелис загинается говоря, что Content-Encoding-Error. Опера выдаёт 
(копипаст с окна - тайп тоже текстом):
Content-type: text/html
Handler fucked up

toxa at networker:/opt/fastpy/fastpy (master)$ GET  http://networker/
Content-type: text/html

<title>Internal server error</title><h1>Handler fucked 
up</h1>toxa at networker:/opt/fastpy/fastpy (master)$

(интересен момент </h1>toxa - отсутствует новоя строка)

GET -ed http://networker/
Connection: close
Date: Tue, 15 Sep 2009 22:35:40 GMT
ETag: "202ba15c1b6384aaebe104a9532a439f"
Server: nginx/0.8.11
Vary: Accept-Language, Accept-Encoding, Cookie
Content-Language: ru
Content-Length: 13142
Content-Type: text/html; charset=utf-8
Client-Date: Tue, 15 Sep 2009 22:35:40 GMT
Client-Peer: 127.0.0.1:80
Client-Response-Num: 1


конфиг энджина:

    server {
        listen          80;
        server_name     networker;
        location / {
            fastcgi_pass unix:/opt/fastpy/fastpy/sock.sock;
            include /home/toxa/sources/nginx/fcgi.conf;

        }
    }

fcgi.conf:

fastcgi_param PATH_INFO         $fastcgi_script_name;
fastcgi_param REQUEST_METHOD    $request_method;
fastcgi_param QUERY_STRING      $query_string;
fastcgi_param CONTENT_TYPE      $content_type;
fastcgi_param CONTENT_LENGTH    $content_length;
fastcgi_param SERVER_PORT       $server_port;
fastcgi_param SERVER_PROTOCOL   $server_protocol;
fastcgi_param SERVER_NAME       $server_name;

fastcgi_param REQUEST_URI       $request_uri;
fastcgi_param DOCUMENT_URI      $document_uri;
fastcgi_param DOCUMENT_ROOT     $document_root;
fastcgi_param SERVER_ADDR       $server_addr;
fastcgi_param REMOTE_USER       $remote_user;
fastcgi_param REMOTE_ADDR       $remote_addr;
fastcgi_param REMOTE_PORT       $remote_port;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE    nginx/$nginx_version;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

П.С. может перейти по таким вопросам в приват, или мэйлинглисту это всё 
интересно?

Alexandr Kutuzov schrieb:
>
> 16.09.2009, в 0:11, Anton Bessonov написал(а):
>
>> Спасибо, скомпилировал. Можно пример конфига, что нужно указывать в 
>> секции wsgi? К примеру для /var/www/django/manage.py
>>
>> Alexandr Kutuzov schrieb:
>>> Если не сложно можете забрать из транка попробовать:
>>>
>>> svn co svn://myau.su/fastpy/trunk fastpy
>>
>
> вот это хороший, годный вопрос, именно поэтому я и прошу помощи 
> джангофилов: 
>
> практически мне нужен валидный wsgi хэндлер: а что и как будет 
> импортироваться мне впринципе без разницы
> поэтому есть куча вариантов как можно запустить джангу, первый что я 
> нашел будет выглядеть как то так:
>
> 1) Врапер для джанговского wsgi(взято отсюда 
> http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango) 
> <http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango%29>:
>
> назавем этот файл как в конфиге wsgi_app.py:
>
> import os, sys
> sys.path.append('/usr/local/django') # путь до джанги если я правильно понял + очень вероятно что и до остальных модулей тоже
> os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'  # Сеттинги джанги???
>
> import django.core.handlers.wsgi
>
> _application = django.core.handlers.wsgi.WSGIHandler()
>
> def wsgi_app_handler(environ, start_response):
>     environ['PATH_INFO'] = environ['SCRIPT_NAME'] + environ['PATH_INFO']
>     return _application(environ, start_response)
>
> Ну и wsgi секция конфига для фастпи должна выглядеть както так:
>
> [wsgi]
> wsgi_path = /path_to_wsgi_app               # путь до нашего поделия
> wsgi_script = wsgi_app                      # модуль в котором лежит 
> коллбэк
> wsgi_handler = wsgi_app_handler             # сам коллбэк который 
> будем вызывать
>
>
> Но честно не пробовал: у меня джанги дома не стоит. 






More information about the nginx-ru mailing list