WSGI ( Python Web Server GateWay Interface) 是一个用在python web server 跟web application 之间的协议,遵从WSGI协议设计的web server 跟web application 框架可以彼此通信,因此开发人员可以将精力集中于web application的开发中,web server也可以运行基于WSGI规范的web application 框架。

uWSGI是一个web server,实现了WSGI、uwsgi、http协议,通过WSGI与web application通信,通过uwsgi与Nginx通信。

python自带的wsgiref也是一个实现WSGI的模块。

flask、Django等则是实现WSGI的application框架。

用flask和wsgiref实现web应用的例子如下:

from flask import Flask
from wsgiref.simple_server import make_server app = Flask(__name__)
@app.route("/")
def index():
return "<h1>hello</h1>" httpd=make_server('',5000,app)
print "Http server running on localhost:5000"
httpd.serve_forever()

然后就可以在本地打开这个页面。

而实现WSGI的server代码则参考 https://segmentfault.com/a/1190000005640475   http://python.jobbole.com/87390/

再研究研究。。。。

[WSGI]WSGI的服务端怎么实现?的更多相关文章

  1. django中“url映射规则”和“服务端响应顺序”

    1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单.      查看方式:         import sys        print sys.path   ...

  2. PyV8在服务端运行自动崩溃问题

    近来想在服务端架设WSGI + PyV8去自动解析JavaScript代码,然后返回解析后的数据给客户端.但是发现,在nginx配置后,客户端一请求,服务端的python脚本自动崩溃. 见代码: de ...

  3. python服务端工程师就业面试指导☝☝☝

    python服务端工程师就业面试指导 由Python专业面试官打造的课,少之又少,专业代表着经验,代表着对考察点的通透理解,更代表着对你负责 第1章 Python工程师offer直通车(视频+教辅文档 ...

  4. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  5. 关于如何提高Web服务端并发效率的异步编程技术

    最近我研究技术的一个重点是java的多线程开发,在我早期学习java的时候,很多书上把java的多线程开发标榜为简单易用,这个简单易用是以C语言作为参照的,不过我也没有使用过C语言开发过多线程,我只知 ...

  6. Socket聊天程序——服务端

    写在前面: 昨天在博客记录自己抽空写的一个Socket聊天程序的初始设计,那是这个程序的整体设计,为了完整性,今天把服务端的设计细化记录一下,首页贴出Socket聊天程序的服务端大体设计图,如下图: ...

  7. zookeeper源码分析之五服务端(集群leader)处理请求流程

    leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...

  8. zookeeper源码分析之四服务端(单机)处理请求流程

    上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...

  9. zookeeper源码分析之一服务端启动过程

    zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...

  10. 创建APPID&&部署服务端教程

    创建APPID&&部署服务端 一.创建APPID 1.打开https://console.developers.google.com ,左击顶部Project,然后左击创建项目 2.输 ...

随机推荐

  1. Linux主机安全配置规范

    一.账号口令 1 配置口令最小长度     在文件/etc/login.defs中设置 PASS_MIN_LEN,参考值:8 2 配置口令生存周期     在文件/etc/login.defs中设置 ...

  2. win10连接宽带,拨号提示错误720:不能建立到远程计算机的连接,解决方法

    使用账号密码登录时,一直报720错误.解决方法是卸载以下IP驱动.卸载之后重新连接就正常了.亲测有效

  3. Reactor和Proactor

    服务器编程框架 IO处理单元 :处理用户连接,读写网络数据:(单机) :作为接入服务器,实现负载均衡;(集群) 请求队列 :各个单元之间通信的抽象,通常被实现为池的一部分:一个单元通知另外一个单元,或 ...

  4. Http长连接

    1.Http长连接 Http的请求时在TCP连接上进行发送的,TCP的连接分为长连接和短连接 打开www.baidu.com,查看Connection ID 如下图. Connection ID代表T ...

  5. 1、IT人思维之投资开篇 - IT人思维之投资

    在IT圈中,很多人的认识就只在于工作中获取收益,这个观点是狭隘的,本身就不符合投资领域的内容.所以,在工作之余,笔者就对投资领域的内容进行的分析和收集整理相关的投资方面的内容,一方面对笔者自己的投资方 ...

  6. HTML5 拖放实例

    <!DOCTYPE HTML><html><head><meta charset="utf-8"> <title>菜鸟教 ...

  7. 一本通之 一堆迷宫 (Dungeon Master&走出迷宫&走迷宫)

    一本通在线崩溃....... . 有图有真相 这是个三维迷宫,其实和二位迷宫差不多,只是方向多加了2个. 但这个题的输入十分恶心,一度被坑的用cin.ignore(),但还是不过... 它的正确输入方 ...

  8. awesome资源包

    .NET资源包 https://github.com/jobbole/awesome-dotnet-cn java资源包 https://github.com/jobbole/awesome-java ...

  9. MYSQL-联合索引

    深入理解 index merge 是使用索引进行优化的重要基础之一.理解了 index merge 技术,我们才知道应该如何在表上建立索引. 1. 为什么会有index merge 我们的 where ...

  10. xamarin android 开发

    开始环境vs2017 直接创建android 项目,左边是android studio 的项目目录  右边是vs创建的android 项目目录 结构基本相同,有res对应的Resources文件 加载 ...