LINUX.ORG.RU

Свое WSGI-приложение

 , ,


0

1

Доброго всем.

Тут товарищ поделился сообщением о быстром wsgi-сервере bjoern Pythons фрэймворки. Скорость. .

Bjoern пока не идет на Питоне3, а мне жаба давит на хороший драйвер Postgresql http://python.projects.postgresql.org/ .

Я остановился на связке Nginx+uWSGI+свое WSGI-приложение.

Естественно перерыл много документации, но не во всем разобрался до конца. Так вот, не могу настроить uWSGI на работу в режиме fastcgi или uwsgi для своего приложения.

Пока получилось только в режиме http-сервера.

Вот часть конфига Nginx:

                location / {
                         proxy_pass http://127.0.0.1:8081;
                }

Вот конфиг uwsgi.ini:

[uwsgi]
http=127.0.0.1:8081
module = test_wsgi:application

Вот основа приложения:


class App(object):

    def run(self, env, start_response):#
        start_response('200 OK', [("Content-type", "text/html; charset=UTF-8"),])
        return ['<h1>Работает</h1>'.encode('utf-8'),]

def application(env, start_response):
    return App().run(env, start_response)

Пробовал передавать uwsgi параметры типов протоколов uwsgi и fastcgi и соответственно делал в nginx.conf uwsgi_pass ... или fastcgi_pass ... и include uwsgi_params; или include fastcgi_params; Запросы просто повисали, ответа не получал.

Подскажите, как настроить Nginx и uWSGI для работы по протоколам uwsgi или fastcgi. Или может у меня структура приложения неправильная.

Спасибо.

А нет, пошло на tcp-порту, проблема была в доступе к unix-сокету

chegeware ()

там не прокси нужно делать, а вот так

        location /path/ {
            uwsgi_pass  unix:///tmp/uwsgi.sock;
            include     uwsgi_params;
        }
mashina ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.