nginx+uWSGI+django部署web服务器

时间:2021-12-07 19:17:48

1.概念

WSGI / uwsgi / uWSGI 这三个概念的区分:

  WSGI 是一种通信协议,也叫做 Web 服务器网关接口

  uwsgi 是一种线路协议而不是通信协议,在此常用于在 uWSGI 服务器与其他网络服务器的数据通信。

  uWSGI 是实现了 uwsgi 和 WSGI 两种协议的 Web 服务器。

nginx(开源的高性能HTTP服务器和反向代理):

  作为 web 服务器,它处理静态文件和索引文件效果非常高,配合uWSGI服务器会更加安全

  它的设计非常注重效率,最大支持 5 万个并发连接,但只占用很少的内存空间

  稳定性高,配置简洁

  强大的反向代理和负载均衡功能,平衡集群中各个服务器的负载压力应用

nginx 和 uWISG 服务器之间配合工作:

  首先浏览器发起 http 请求到 nginx 服务器,Nginx 根据接收到请求包,进行 url 分析,判断访问的资源类型:如果是静态资源,直接读取静态资源返回给浏览器。如果请求的是动态资源就转交给 uwsgi服务器,uwsgi 服务器根据自身的 uwsgi 和 WSGI 协议,找到对应的 Django 框架,Django 框架下的应用进行逻辑处理后,将返回值发送到 uwsgi 服务器,然后 uwsgi 服务器再返回给 nginx,最后 nginx将返回值返回给浏览器进行渲染显示给用户。

nginx+uWSGI+django部署web服务器

 apache 和 nginx 的区别?

nginx+uWSGI+django部署web服务器nginx+uWSGI+django部署web服务器
Nginx 相对 Apache 的优点:
    轻量级,同样起 web 服务,比 apache 占用更少的内存及资源;
    抗并发,nginx 处理请求是异步非阻塞的,支持更多的并发连接,而 apache 则是阻塞型的,在高并发下 nginx 能保持低资源低消耗高性能;
    配置简洁;
    高度模块化的设计,编写模块相对简单;
    社区活跃。
Apache 相对 Nginx 的优点:
    rewrite ,比 nginx 的 rewrite 强大;
    模块超多,基本想到的都可以找到;
    少 bug ,nginx 的 bug 相对较多;
    超稳定。
View Code