Websocket + tornado + flask. Как использовать на проде?

Всем привет.

Поднял фласк приложение. Запустил его под торнадо у себя локально. Использую обработчик для работы с websocket. Для запуска просто выполняю некий код для запуска. Собственно код для запуска:
from app.websocket.handler import WSHandler
from tornado.wsgi import WSGIContainer
from tornado.web import Application, FallbackHandler
from tornado.ioloop import IOLoop
from app import app

if __name__ == '__main__':
    wsgi_app = WSGIContainer(app)

    application = Application([
        (r'/echo', WSHandler),
        (r'.*', FallbackHandler, dict(fallback=wsgi_app))
    ])

    application.listen(5000)
    IOLoop.instance().start()


Вопрос, как мне это дело правильно размещать на проде? На проде ubuntu 14. Можно ли это дело спрятать за Apache2? Читал, что советуют использовать nginx, но как его настраивать, собственно как и Apache, я не знаю и не совсем понимаю как это сервер будет работать внутри сервера. Или Apache or nginx будут выступать в роли балансировщика.

Желательно конкретику. Я не большой спец по Ubuntu и серверам.

Спасибо.
  • Вопрос задан
  • 3211 просмотров
Решения вопроса 1
dizballanze
@dizballanze
Software developer at Yandex
Все очень просто:
  • ставите Nginx (желательно свежую версию)
  • настраиваете reverse proxy для flask приложения
  • настраиваете proxy для websocket
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы