ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Yet another fastcgi-wsgi gateway



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

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

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

<title>Internal server error</title><h1>Handler fucked up</h1>toxa@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 # сам коллбэк который будем вызывать


Но честно не пробовал: у меня джанги дома не стоит.




 




Copyright © Lexa Software, 1996-2009.