我有Flask和Falcon的经验,为了在产品中运行网站,我使用了单独的http服务器,例如uwsgi \ unicorn。但是,对于Sanic,我需要它吗?根据文档,它可以很好地管理自己的文件。
最佳答案
我最近回答了相同的问题over on the Sanic community forums。
最简洁的答案是不。您不需要在生产中使用gunicorn或其他类似的服务器。 Sanic app.run
可以使用并且效果很好。因此,问题就变成了我应该使用...。
为此,并重申我在论坛上的回答,我建议您查看预期的用途并确定最有意义的用途。
是的,Sanic can serve static files。如果您正在做的是小巧轻便的事情,那么最好用Sanic的一个实例来处理您所有的内容。
但是,如果直接从nginx
之类的文件提供静态文件,则在几乎所有情况下,您都会获得更好的性能。这(在我看来)适用于任何Python框架(或就此而言,任何框架)。通常最好直接提供静态文件。
至于您的动态内容是否应在再次单击Sanic ...之前通过gunicorn
运行,请选择this is an option。我个人认为大多数项目没有好处。它是堆栈上的另一层,并没有增加太多。可能会有一些开箱即用的功能,因此,我建议您检查服务器是否提供了Sanic无法提供的某些功能。
关于python - 是否应为aiohttp和sanic等异步框架使用单独的WSGI服务器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52754301/