热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

wsgi是什么,uwsgi和nginx的作用

我们下面统一使用server和application这两个术语。一般常用的Web服务器,如Apache和nginx,都不会内置WSGI的支持,而是通过扩展来完成。比如Apache服


WSGI全名: Web server网关界面翻译为Web服务器网关接口WGI,是定义web服务器如何与Python APP应用程序进行交互的规范协议,python


WSGI定义了两个角色,Web服务器端称为server或gateway,APP应用程序端称为application或framework (wssgi 以下统一使用术语server和application :


服务器端接收来自用户的请求,并根据规范请求调用APP应用程序端,如下图所示。


的调用结果被封装为HTTP响应,然后发送到客户端。


要使用WSGI,必须分别实现服务器角色和应用程序角色。


APP端的实现一般通过Python的各种框架来实现,例如Django、web.py等,一般开发者不需要在意WSGI的实现,框架是开发者获取HTTP请求的内容,HTTP响应


服务器端的实现会有点复杂,但这主要归咎于软件体系结构。 常见的Web服务器(如Apache和nginx )不是内置WSGI支持,而是通过扩展实现的。 例如,在Apache服务器上,扩展模块mod_WSGI支持wsgi。 Apache和mod_WSGI之间通过程序内部接口传递信息,mod_WSGI实现了wsgi对服务器端、流程管理和APP的调用。 Nginx通常以proxy的方式,通过Nginx协议封装请求并将其发送到APP应用程序服务器,如uWSGI。 APP应用服务器可实现WSGI的服务端、流程管理和对APP的调用。


uwsgi是二进制协议,可以携带任何类型的数据。 uwsgi包的前四个字节描述了该包中包含的数据类型。


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


uWSGI uWSGI是一个web服务器,是一个实现了uWSGI和wsgi两种协议的web服务器


WSGI、uwsgi、uWSGI:实现流程图


推荐阅读
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
author-avatar
高玉成
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有