首先需要下载mod_wsgi-2.4.tar.gz。 可以到官网下载。 还可以到点这里直接下载。...modules/mod_wsgi.so” 为mod_wsgi.so赋权。...照着提示输入命令即可: chmod 755 /usr/local/apache2/modules/mod_wsgi.so 接下来,安装Django: django官网(https://www.djangoproject.com...安装完成后可以在终端窗口中查看是否安装成功 ? 我安装的是django 1.7版本。...接着说一下Apache,由于Apache在Linux下安装后,安装文件是分两部分存在的,一部分在安装时指定的目录中,另一部分在/etc/apache2目录中。
Django集成到Apache有两种方式:python_mod和wsgi,后者相对于前者更加稳定,所以这里我们通过wsgi的方式来进行集成。...----分割线-------------------------------- 先介绍一下我的环境: 0.CentOS X64 1.Apache 2.2.3 2.Django 1.6.1 集成第一步:安装...mod_wsgi yum insall python26-mod_wsgi.x86_64 安装完成之后检查Apache目录/etc/httpd/conf.d/会出现python26-mod_wsgi.conf...wsgi_module> LoadModule wsgi_module modules/python26-mod_wsgi.so ...import get_wsgi_application application = get_wsgi_application() 刷新浏览器,这时候Django就成功集成到Apache了。
return inner return outer yield关键字做了什么 当你的函数需要返回一个很大的元素集合,并且每个元素只需要用到一次的时候,使用yield会非常方便 web.py源码解析 WSGI...start_response函数: iterable=app(environ,start_response) for data in iterable: #send data to client WSGI...PEP333 WSGI中分块传输大文件,使用yield:(rhodesmill.org/brandon/2013/chunked-wsgi) 后续: http://benosteen.wordpress.com
何为 WSGI?...WSGI 解放了 Web 开发者的精力让他们可以专注于自己需要关注的事情。 WSGI 做了什么事情?...注:为了简练而写成了 WSGI 做了什么事情,实际上 WSGI 只是一个规范并不是实际的代码,准确的来说应该是「符合 WSGI 规范的 Web 体系做了什么事情?」...上面已经提到,WSGI 通过规范化 Web 框架和 Web 服务器之间的接口,让兼容了 WSGI 的框架和服务器能够自由组合使用…… 所以,WSGI 究竟做了什么,让一切变得如此简单?...WSGI 是如何工作的? 通过上一小节能够大概的了解到 WSGI 在一次完整的请求中究竟做了什么。下面再来介绍一下一个完整的 WSGI Web 体系是如何工作的。
wsgi 协议 前言 本来没打算这么早就学习 wsgi 的,因为想要学习python 是如何处理网络请求的绕不开 wsgi,所以只好先学习一下 wsgi。...本文参考 什么是 WSGI wsgi 的全称是Web Server Gateway Interface,这是一个规范,描述了 web server 如何与 web application 交互、web...WSGI server 所做的工作仅仅是将客户端收到的请求传递给 WSGI application,然后将 WSGI application 的返回值作为相应传给客户端。...搭建一个 wsgi 服务 在上章节说了 python 有个内置的 WSGI 库叫 wsgiref。...UTF-8'>, 'wsgi.version': (1, 0), 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.multithread
wsgi是什么? WSGI:Web Server Gateway Interface。 WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。...\n"%head self.response_headers =response_headers 作用 可以方便功能扩展 sys进行默认文件夹填充 sys.path.insert(1,WSGI_PYTHON_DIR
WSGI APP 根据定义,我们可以实现一个非常简单的满足 WSGI 的 App: def demo_wsgi_app(environ, start_response): status = '200...在 Django 中,可以在默认 app 下的 wsgi.py 中找到 get_wsgi_application,Django 通过这个方法创建并返回了一个 WSGIHandle,其本质,依然是一个 WSGI...WSGI 服务器 从 WSGI APP 的写法上就基本能推测出 WSGI 服务器做了什么,因此可以尝试实现一个简陋的 WSGI 服务器: def run_wsgi_app(app, environ):...这时候我们把第一个 WSGI APP first_wsgi_app 传给 Server。...在执行时, first_wsgi_app 可以完成日志的记录, second_wsgi_app 可以完成鉴权, third_wsgi_app 来真正的处理请求。
WSGI简介 WSGI(Web Server Gateway Interface, Web服务器网关接口)是Python中定义的一个网关协议,规定了Web 服务器如何跟应用程序交互。...只要应用程序是基于WSGI协议设计的,那么它就可以运行在任何实现了WSGI协议的Web服务器上。WSGI允许开发者将选择Web框架和选择Web服务器进行分离,这就是使用统一的协议的好处。...WSGI原理 WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。以一个最简单的直接返回’hello world’为例。...实战 Python内置了一个WSGI服务器,这个模块叫wsgiref,它是用纯Python编写的WSGI服务器。...该服务器完全符合WSGI标准,但是不考虑任何运行效率,仅供开发和测试使用。
因此我们需要使用mod_wsgi这个模块使得flask能够在apache上进行部署,mod_wsgi模块是一个python写的Apache的FastCGI模块。...mod_wsgi模块: 说明:参考链接的大神使用的.so模块是需要通过访问外国网站得到,所以我们需要使用whl文件,mod_wsgi的版本选择是非常有讲究的,它需要对应apache对应的vc编译版本...: pip install (2)安装成功后,运行下面的命令: mod_wsgi-express module-config (3)上面这条命令成功运行后,我们可以得到三条信息...三、启动或安装apache 启动管理员模式的cmd进入到Apache24的bin文件路径下: 安装apache为系统服务: httpd -k install 启动apache: httpd...-k start 我发现有的电脑可以直接通过打开httpd.exe直接运行,而不需要将httpd安装入系统服务。
当前运行在WSGI之上的web框架有Bottle、Flask、Django等,具体可见Frameworks that run on WSGI。...WSGI server所做的工作仅仅是将从客户端收到的请求传递给WSGI application,然后将WSGI application的返回值作为响应传给客户端。...WSGI基础 1.WSGI application接口 WSGI application接口应该实现为一个可调用对象,例如函数、方法、类、含__call__方法的实例。...Python WSGI基础 1.Web server WSGI server就是一个web server,其处理一个HTTP请求的逻辑如下: ?...2.Web framework/app 即WSGI application。 3.中间件(Middleware) 中间件位于WSGI server和WSGI application之间。
wsgi和asgi wsgi和asgi都是Web服务器网关接口。它们是一种规范,描述了Web服务器如何与Web应用程序(客户端)通信,以及如何将Web应用程序链接在一起以处理一个请求。...WSGI描述了Server与Framework之间通信的规范,WSGI协议主要包括server和application两部分: WSGI server负责从客户端接收请求,将request转发给application...python从小白到入门:10分钟搞懂WSGI协议 江湖儿女——WSGI Python Web开发最难懂的WSGI协议,到底包含哪些内容?...WSGI ASGI ASGI是WSGI的精神继承者,WSGI是用于Web服务器、框架和应用程序之间兼容性的长期存在的Python标准。...这么一说,大家都明白了,ASGI和WSGI是一样的东西。那么为什么需要ASGI?以及ASGI的具体内容,可以参考asgi文档. ASGI被设计为WSGI的超集,即ASGI是兼容WSGI的。
WSGI server:负责从客户端接受请求,将request转发给 WSGI application,再将 WSGI application返回的response传给客户端。...WSGI application:负责接受从WSGI server 发送来的 request,出来完请求后,将response返回给WSGI server。...此application可以包括多个栈结构的中间件(比如django) WSGI:全名(Web Server Gateway Interface)是一种规范协议(和http协议一个级别),规定了WSGI... server和WSGI application如何进行通信。...所以在生产部署时,才需要 额外的gunicorn或uWSGI服务器(实现WSGI server)来代替框架内部的WSGI server.
Python WSGI规定了Web服务器和Python Web应用程序或Web框架之间的标准接口,主要是为了促进Web应用程序在各种Web服务器上的可移植性。...上述这句话翻译自Python官方的PEP333标准:PEP 333 – Python Web Server Gateway Interface v1.0 WSGI接口概述 WSGI的含义:Web Server...WSGI接口包含两方面:server/gateway端 及 application/framework端。...\n" Server端 WSGI server必须要调用application,而且要使用位置参数的形式调用application。...WSGI server接收application的返回值作为响应体。 最简单的WSGI server为Python自带的wsgiref.simple_server。
一、介绍WSGI1.1 WSGI边界 WSGI(Web Server Gateway Interface)主要规定了服务器端和应用程序间的接口。...WEB Server主要负责HTTP协议请求和响应,但不一定支持WSGI接口访问。...实现简单WSGI HTTP服务端wsgiref是Python提供的一个WSGI参考实现库,不适合生产环境使用。...wsgiref.simple_server模块实现一个简单的WSGI HTTP服务器。...协议,该协议约定了和应用程序之间接口(参看PEP333,https://www.python.or g/dev/peps/pep-0333/) 5.2 WSGI APP应用程序 遵从WSGI协议 本身是一个可调用对象
__import__(frame_name) 124 # 导入app方法 125 app = getattr(frame, app_name) 126 # print("创建WSGI...对象") 127 # 创建WSGI对象 128 wsgi_server = WSGIServer(port, app, conf_info["static_path"]) 129...# 调用其run_forever方法,使流程不断运行 130 wsgi_server.fun_forever() 131 132 if __name__ == "__main__": 133
这个接口就是WSGI:Web Server Gataway Interface。 WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。...所以,application必须由WSGI服务器来调用。有很多符合WSGI规范的服务器,我们可以挑选一个来用。...好消息是Python内置了一个WSGI服务器,这个模块叫wsgiref,它是用纯python编写的WSGI服务器的参考实现。...小结: 无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。...复杂的Web应用程序,光靠一个WSGI处理函数还是太底层了,我们需要在WSGI之上抽象出Web框架,进一步简化Web开发。
基础概念 首先要了解 WSGI 规范的概念,WSGI(Web Server Gateway Interface)规范描述了web server(Gunicorn,uWSGI等)如何与web application...正是有了 WSGI 规范,我们才能在任意 web server 上跑各种 web 应用。...WSGI API 定义看起来很简单: def application(environ, start_response) application 就是 WSGI app,一个可调用对象 参数:...environ: 一个包含 WSGI 环境信息的字典,由 WSGI 服务器提供,常见的 key 有 PATH_INFO,QUERY_STRING 等 start_response: 生成 WSGI 响应的回调函数..."] werkzeug相关 werkzeug是Python实现的WSGI规范的使用函数库。
在用Python Web开发时经常会遇到WSGI,所以WSGI到底是什么呢?本文我们一起来揭开WSGI神秘的面纱!...Python程序之间相互通信 你可能会问,为什么需要WSGI?...既然定义了标准,那么WSGI的标准或规范是? web服务器在将请求转交给web应用程序之前,需要先将http报文转换为WSGI规定的格式。...,参数包括状态码,headers等 通过以上学习,一起实现一个简单WSGI服务吧 首先,我们编写一个符合WSGI标准的一个http处理函数: def hello(environ, start_response...接下来,我们需要一个服务器启动WSGI服务器用来处理验证,使用Python内置的WSGI服务器模块wsgiref,编写server.py: # coding:utf-8 """ desc: WSGI服务器实现
请求转发至对应的web服务器 web服务器将请求转交给web应用程序,web应用程序处理请求 web应用将请求结果返回给web服务器,由web服务器返回用户响应结果 浏览器收到响应,向用户展示 一个`wsgi...具体可查看 官方文档:https://www.python.org/dev/peps/pep-0333/ WSGI是一套接口标准协议/规范; 通信(作用)区间是Web服务器和Python Web应用程序之间
这个接口就是WSGI(Web Server Gateway Interface)。Django、CherryPy都自带WSGI Server,主要用于测试。 ...2)应用程序:用来生成返回的Header,Body和Status,以便返回服务器方 1.2 简单的WSGI WSGI接口定义非常简单,它只要求WEB实现一个函数,就可以相应HTTP请求. def application...application()函数必须由WSGI服务器来调用。...Python内置了一个WSGI服务器,这个模块叫做wsgiref,它是用纯python编写的WSGI服务器的参考实现,所谓参考实现,是指该实现完全符合WSGI标准,但是不考虑任何运行效率,仅供测试 1.3...运行WSGI服务 编写一个python脚本 hello.py,实现Web应用程序的WSGI处理函数 #!
领取专属 10元无门槛券
手把手带您无忧上云