uwsgi、uWSGI、WSGI傻傻分不清楚?

推荐先看:uWSGI应用服务器(WSGI /uwsgi /uWSGI三者区别)

  • WSGI是一种通信协议。
  • uwsgi是一种传输协议。
  • uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。
1、在有nginx代理时,uwsgi、nginx、应用程序是怎么工作的?
  • 客户端(如浏览器)发起HTTP请求,请求被发送到Nginx这个Web服务器。

  • Nginx接收到请求后,根据配置决定如何处理。如果请求需要动态生成(如Python脚本),Nginx会将请求通过uwsgi 传输协议,通过socket发送到uWSGI这个应用服务器。

  • uWSGI服务器接收到请求后,会将其转化为WSGI 通信协议的请求,然后通过socket发送给Python应用(如Flask)。

  • Python应用处理请求,生成响应,然后通过socket发送回uWSGI服务器。

  • uWSGI服务器接收到响应后,再通过socket发送回Nginx。

  • Nginx接收到响应后,再返回给客户端。

这个过程中,Nginx web服务器、uWSGI应用服务器 和 Python应用 之间的通信都是通过socket通信完成的。Nginx 和 uWSGI 之间的通信使用uwsgi 协议,uWSGI 和 Python 应用之间的通信使用 WSGI 协议。

2、web服务器、http服务器、应用服务器
  • HTTP服务器Web服务器 的一种
    HTTP服务器和Web服务器在很多情况下可以互换使用,它们都是处理HTTP请求的服务器,可以为客户端提供HTML网页等静态Web资源。
    ① HTTP-Hypertext Transfer Protocol,超文本传输协议是互联网上应用最为广泛的一种网络协议。HTTP服务器就是遵循HTTP协议,通过互联网或者局域网将网页(HTML文件)、图片、视频等静态Web资源传送给客户端的服务器。
    ② Web服务器一般指的是提供Web服务的服务器,可以处理HTTP请求,返回网页给客户端。HTTP服务器是Web服务器的一种,但是Web服务器除了处理HTTP请求外,还可能会支持HTTPS(HTTP Secure,安全超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)等其他协议。
  • 应用服务器
    主要任务是运行Web应用程序,并响应来自Web服务器(如Nginx)的请求。

在生产环境中,通常会使用专门的Web服务器(如Nginx或Apache)来处理静态文件请求和负载均衡等,而动态内容的请求则转发给应用服务器(如uWSGI)处理。

(1)uWSGI服务器是一种应用服务器,虽然它可以直接处理HTTP请求,但它并不是一个完全的HTTP服务器,它在处理静态文件、负载均衡等方面的性能可能不如专门的HTTP服务器。
(2)tomcat是个web服务器,也是个轻量级应用服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值