• uwsgi的一些课外知识:uwsgi、uWSGI、WSGI、web服务器、应用服务器、socket


    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应用服务器(WSGI /uwsgi /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服务器,也是个轻量级应用服务器

  • 相关阅读:
    System V信号量
    eNSP学习——静态路由及默认路由基本配置
    Apache DolphinScheduler新一代分布式工作流任务调度平台实战-中
    面试宝典之C++多态灵魂拷问
    FreeRTOS移植:STM32L476 nucleo-L476RG 开发板《02》
    Error: Cannot find module ‘node:util‘
    如何在OpenWRT上安装SFTP并实现公网远程文件传输
    C++之异常
    playwright 防止WebDriver 被检测 被网站识别为爬虫设置
    Chrome 浏览器经常卡死问题解决
  • 原文地址:https://blog.csdn.net/qq_19072921/article/details/132858212