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

你可能感兴趣的:(网络通信,python,语言学习,python,服务器,http)