首页>>后端>>Python->django为什么要uwsgi(2023年最新解答)

django为什么要uwsgi(2023年最新解答)

时间:2023-12-07 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关django为什么要uwsgi的相关内容,希望对大家有所帮助,一起来看看吧。

python Django自带wsgi.py 为什么部署还需要uWSGI

Django自己运行的只用于开发者调试,且为单线程工作。如果是要作为产品发布则需要用到其他的服务器部署,比较常见的用Nginx+uwsgi。

django 多线程 + uWSGI 多线程 遇到的坑

当django中使用了多线程时,由于uwsgi默认不开启多线程,所以我们需要为uwsgi手动开启多线程。

闲言少叙,直接上配置。

在uwsgi 的配准文件 uwsgi.ini 中 增加下面的 threads 字段

这样就可开启多线程。

django部署的一个爬虫服务。客户端发送一个请求后,django立即开启一个线程,去执行耗时的爬虫任务, django不等待爬虫结果,便先返回给客户端“请等待”的提示,在爬虫任务执行完毕后,再通过轮询或websocket返回给客户端爬虫任务的结果。

使用 django的 runserver 运行项目没问题,但当使用 nginx+ uwsgi 运行项目时,爬虫的HTTP请求不返回结果;当使用 uwsgi单独拉起项目时,爬虫的HTTP返回结果但速度奇慢。

最后发现是uwsgi 默认不支持多线程,需要开启多线程(方法如上),即可解决问题。

部署flask应用时,为什么会需要gunicorn/uWSGI

Flask ,Django 自带的web server的目的就是用于开发,而不是生产环境。他们俩本身是web framework而不是web

server. 他们自带的server应该都只能开单进程。而像gunicorn是

prefork模式,从nginx每发过来一个请求,它就fork一个进程去处理这个请求,并buffer相关的数据。wsgi服务器都是专门为生产环境

开发的,能配置更多从而处理更复杂的请求状况,从性能和稳定性来说,都更好。

结语:以上就是首席CTO笔记为大家整理的关于django为什么要uwsgi的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/18476.html