Я разрабатываю простое приложение MVP, и пришло время развернуть его на моем рабочем сервере для более тщательного внешнего тестирования. Он никогда не получит тяжелую нагрузку на трафик, мне просто нужна небольшая группа пользователей для тестирования.Зачем мне нужно использовать веб-сервер, промежуточное программное обеспечение и т. Д. Для простого приложения Flask?
Теперь я всегда шел с тремя слоями. Nginx/Apache> Guncicorn/CherryPy/etc> Flask/Django/Pyramid/Bottle/etc
Я ЗНАЮ, что это убедительная мудрость. Но я никогда не собирался спрашивать, почему. Для чего я все это настраиваю?
Какие альтернативы вы сравниваете? Если это просто для тестирования, и вы не заботитесь о рисках производительности и безопасности, вы можете использовать сервер по умолчанию, встроенный в такие вещи, как «Бутылка». – BrenBarn
Это частично объясняется в http://stackoverflow.com/questions/14814201/can-i-serve-multiple-clients-using-just-flask-app-run-as-standalone. Удивленный, у вас нет уровня базы данных. Я считаю, что он обычно важен и будет иметь его вместе с быстрым многопоточным веб-сервером и веб-картой. Существует тенденция к замене веб-сервера многопроцессорной структурой async IO, такой как Akka (актеры), которая используется, например, с Play (веб-каркас) в стеке TypeSafe. –
Просто используйте * CherryPy * в качестве рамки и откатывайте ее самостоятельно как HTTP-сервер, что хорошо для низкого трафика. Чем меньше движущихся частей, тем лучше. Когда трафик увеличивается или необходимы дополнительные функции, вы можете поставить * nginx * перед ним, так как оба говорят HTTP. – saaj