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
Мне интересно :-)
2009/9/15 Anton Bessonov <exelib@xxxxxxxxxxxxxx>:
> Аха, ясно что и для чего.
>
> Огнелис загинается говоря, что 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 # сам коллбэк который будем
>> вызывать
>>
>>
>> Но честно не пробовал: у меня джанги дома не стоит.
>
>
>
--
Alexey Kovyrin
http://kovyrin.net/
|