Я недавно ответил на этот же вопрос на форумах сообщества Sanic .
Краткий ответ: нет .Вам не нужно использовать gunicorn или другой аналогичный сервер в производстве.Sanic app.run
можно использовать и хорошо работает.Таким образом, вопрос становится я должен использовать ... .
Для этого, и, повторяя мой ответ с форумов, я бы порекомендовал вам посмотреть на предполагаемое использование и определить, что наиболее целесообразно.
Да, Sanic может обслуживать статические файлы .Если вы делаете что-то маленькое и легкое, то, возможно, имеет смысл использовать один экземпляр Sanic для обслуживания всего вашего контента.
Однако практически при любых обстоятельствах вы получите лучшую производительность, если будете обслуживать статические файлы непосредственно изчто-то вроде nginx
.Это (по моему мнению) относится к ЛЮБОЙ платформе Python (или, в этом отношении, любой платформе ).Статические файлы, как правило, лучше обслуживать напрямую.
Что касается того, должен ли ваш динамический контент проходить через gunicorn
, прежде чем нажимать Sanic ... снова, , это опция .Я лично не вижу пользы для большинства проектов.Это еще один слой в стеке, который мало что добавляет к миксу.Там могут быть некоторые функции, которые вы получаете из коробки, поэтому я бы порекомендовал вам проверить, есть ли что-то, что сервер даст вам из коробки, чего нет у Sanic.