Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2013 15:00:59

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

gevent + flask под apache?

app = Flask(__name__)
from websocket import handle_websocket
def my_app(environ, start_response):
    path = environ["PATH_INFO"]
    if path == "/websocket":
        handle_websocket(environ["wsgi.websocket"])   
    else:  
        return app(environ, start_response) 
http_server = WSGIServer(('',8000), my_app, handler_class=WebSocketHandler)
http_server.serve_forever()

Нашел пример, с реализацие веб-сокетов через gevent, всё работает. А как запустить это всё под apache-м? Нагуглить мануал не удалось. Может это в принципе невозможно и нужно вот этот WSGIServer отдельно поднимать?



Офлайн

#2 Сен. 5, 2013 20:03:16

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

gevent + flask под apache?

Я использую веб сокеты под gevent, запускаю как самостоятельный процесс и проксирую его через ngnix.
а зачем тут фласк?

Офлайн

#3 Сен. 5, 2013 22:44:46

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

gevent + flask под apache?

o7412369815963
Я использую веб сокеты под gevent, запускаю как самостоятельный процесс и проксирую его через ngnix.а зачем тут фласк?

Ну у меня основное приложение на фласке, хочу прикрутить вебсокеты.



Офлайн

#4 Сен. 5, 2013 23:19:16

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

gevent + flask под apache?

plusplus
Ну у меня основное приложение на фласке, хочу прикрутить вебсокеты.

Пусть фласк остается в основном приложении, для веб сокетов он не нужен.

тут пример сервера веб сокетов https://pypi.python.org/pypi/gevent-websocket/

вот конфиг Nginx для проксирования вебсокетов в gevent
server {
        listen   80;
        server_name hostname;
        location /wcontrol {
                proxy_pass http://localhost:8003;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_read_timeout 300;
                proxy_set_header  Host       $host;
                proxy_set_header  X-Real-IP  $remote_addr;
                #proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

у меня в проекте он работает стабильно.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version