uWSGI 和 nginx 这两位,你知道他们是怎么强强联手的吗?

谈一下你对 uWSGI 和 nginx 的理解?
  1. uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi协议、http协议 等。

    • WSGI 是一种通信协议。
    • uwsgi 是一种线路协议而不是通信协议,常用于在 uWSGI 服务器与其他网络服务器的数据通信。
  2. Nginx是轻量级的高性能Web服务器,提供反向代理、负载均衡、缓存等一系列重要特性。

    • 用 C 语言编写,执行效率高
    • 稳定性高,最大支持 5 万个并发连接,但只占用很少的内存空间。
  3. uWSGI 和 nginx 怎么通信的?

    1. 首先浏览器发起 http 请求到 nginx 服务器,它们之间走的是 http 协议,nginx 根据接收到请求包,进行 url 分析,判断访问资源的类型。
    2. 如果是静态资源,直接读取静态资源返回给浏览器,如果请求的是动态资源就转交给 uWSGI 服务器。
    3. 因为 nginx 和 uWSGI 都懂 uwsgi 协议,uwsgi 为纯二进制的协议,不用去封装七层协议中的协议体中的各种状态位。效率比较快,所以 nginx 和 uWSGI 之间走 uwsgi 协议。此时 uWSGI 需要通过 socket 模式启动。【http 纯文本型协议(超文本传输),效率不是很高】
    4. uWSGI 服务器根据自身的 WSGI 协议,找到对应的 Django 框架。
    5. Django 框架下的应用进行逻辑处理后,将返回值发送到 uWSGI 服务器。
    6. uWSGI 服务器再返回给 nginx,最后 nginx 将返回值返回给浏览器进行渲染显示给用户。
  4. nginx 正向代理和反向代理?

    1. 正向代理:请求经过代理服务器从局域网发出,然后到达互联网上的服务器。

      特点:服务端并不知道真正的客户端是谁。

    2. 反向代理:请求从互联网发出,先进入代理服务器,再转发给局域网内的服务器。

      特点:客户端并不知道真正的服务端是谁。

    区别:正向代理的对象是客户端。反向代理的对象是服务端。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值