提高Django高并发性的解决方案


方案: nginx + uWSGI 提高 Django的并发性

 1. uWSGI :  

uWSGI是一个web服务器,实现了WSGI协议、uwsgi协议、http协议等。

uWSGI的主要特点是:

  • 超快的性能
  • 低内存占用
  • app管理
  • 详尽的日志功能(可以用来分析app的性能和瓶颈)
  • 高度可定制(内存大小限制,服务一定次数后重启等)

uWSGI服务器自己实现了基于uwsgi协议的server部分,我们只需要在uwsgi的配置文件中指定application的地址,uWSGI就能直接和应用框架中的WSGI application通信。

2.  nginx :   

Nginx 是一个高性能的负载均衡HTTP反向代理服务器,Nginx是一款轻量级Web 服务器/反向代理服务器电子邮件代理服务器。

特点是占有内存少,并发能力强。

结构与扩展: 一个主进程和多个工作进程。工作进程是 单线程 的,且不需要特殊授权即可运行;

3. nginx和uWSGI的关系:

nginx相当于是服务器,负责接收请求

uwsgi服务器和服务端应用程序的通信协议,规定了怎么把请求转发给应用程序和返回

2个基本概念: 

服务器(接收请求),应用程序(处理请求并返回)

通信过程: 

客户端发送一个http请求,被nginx服务器接收,nginx服务器将请求转发给uwsgi,uwsgi将请求转发给实现uwsgi协议的应用程序(flask,gunicorn等等)

 

nginx与uWSGI的安装与配置详见https://blog.csdn.net/yinhangxitong36/article/details/79821851

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM