在生产中使用Sanic的内置webserver

2024-05-15 19:21:20 发布

您现在位置:Python中文网/ 问答频道 /正文

Djangodocumentation有关其开发服务器的状态:

Don’t use this server in anything resembling a production environment. It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.)

Sanic's部署文档并没有说我们不能在生产中使用它的内置服务器。它声明:

Deploying Sanic is very simple using one of three options: the inbuilt webserver, an ASGI webserver, or gunicorn. It is also very common to place Sanic behind a reverse proxy, like nginx.

对我来说,这意味着从阿帕奇那里获得自由。这也意味着Nginx、Gunicorn、Daphne、Uvicorn、Hypercorn等是可选的。在

但是,我在Sanic: python web server that's written to die fast中发现了一些关于其内置服务器的负面评论。另一方面,他们的github存储库似乎非常活跃。他们是否解决了Reddit帖子中提到的问题?在

我错过什么了吗?在


Tags: ofthetoin服务器webserveris
1条回答
网友
1楼 · 发布于 2024-05-15 19:21:20

问题1处理的是请求大小和超时设置,这些设置允许使用过多的数据淹没服务器来进行DoS攻击。管理员可以根据服务器硬件和正在运行的站点的要求调整这些设置。这就是说,默认值可能应该低于实际值,从而使对未配置服务器的攻击更加困难。在

问题2声称流式响应中没有背压处理。目前的版本确实有流量控制,因此得到适当的背压控制,避免了这样的问题。由于这在Python的asyncio协议设计中被严重忽视,过去很多应用程序都存在这样的问题,可能在撰写博客时也包括Sanic。在

现在,Sanic服务器当然可以直接在Internet上运行,这实际上比在nginx或Apache后面运行Django要安全得多,因为任何长时间的POST请求都会阻塞整个Django工作线程。在

相关问题 更多 >