paste.deploy就是一个可以配置wsgi_app的工具,可以让服务器运行时,按照配置文件执行一系列的程序。需要使用.ini配置文件。

(1)这里补充一下当时没看到的配置文件

1.[app:main]的意识是只有一个app,所以就叫main,其实叫别的也无所谓。

use=egg:MyAPP   egg其实是一个程序包,是需要单独安装的东西。egg包是目前最流行的python应用打包部署方式

2.[composite:main]                      composite是Paste中的一个模块,这个意思是用Paste egg 包中的urlma,就是Paste用egg打过包了,所以这么用

use = egg:Paste#urlma

3.[app:wiki]                                call(表示使用call方法):模块的完成路径名字:应用变量的完整名字,即调用了applicationde __call__(global,**kawrgs)

use = call:mywiki.main:application

4.[app:myfacapp]

paste.app_factory = myapp.modulename:app_factory

paste.app_factory,意思是调用了myapp.modulename.py的app_factory的方法,该方法的参数为app_factory(global_conf,**local_conf),在该方法

中会返回一个app,这个app是一个可调用对象,就是有__call__。注意paste.app_factory必须这样写,但是调用的可以不叫app_factory

5.同理的paste.fileter_factory是一样的。

6.wsgi的使用流程和注意事项:


1     from paste.deploy import loadapp
2 from wsgiref.simple_server import make_server1
3 if __name__=='__main__':
2 configfile="serverconf.ini" #这里是其他程序里的,所以是这样
3 appname="pd1" #这里也不是必须的
4 wsgi_app=loadapp("config:%s" % os.path.abspath(configfile),appname) #注意必须使用路径
5 server=make_server('192.168.1.104',8080,wsgi_app)
6 server.serve_forever()
7 pass
 首先当调用Loadapp时就会执行conf中的app_factory方法,并会在该方法中的return app时,调用该app的init程序。但是不会返回和调用__call__方法。然后会不停等待。只有当有接收到
请求时,才会执行该__call__方法。方法返回后__init__不会退出。下次请求时,不会执行__init__了。只会执行__call__方法。

自己使用python webob,paste.deploy,wsgi总结的更多相关文章

  1. 详解Paste deploy

    原创作品,转载注明本文出处:http://www.cnblogs.com/Security-Darren/p/4087587.html 谈到WSGI,就免不了要了解paste,其中paste depl ...

  2. Python Paste.deploy 笔记

    首先python paste是一个WSGI工具包,在WSGI的基础上包装了几层,让应用管理和实现变得方便.说实话,Python Paste的文档做的真差劲!加之python代码可读性本来就不怎么滴,真 ...

  3. 探索 OpenStack 之(11):cinder-api Service 启动过程分析 以及 WSGI / Paste deploy / Router 等介绍

    OpenStack 中的每一个提供 REST API Service 的组件,比如 cinder-api,nova-api 等,其实是一个 WSGI App,其主要功能是接受客户端发来的 HTTP R ...

  4. [原]Paste.deploy 与 WSGI, keystone 小记

    Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...

  5. paste deploy初探

    这段时间刚着手开始研究Openstack Swift源码,为后续开发做准备. Swift依据python WSGI规范.WSGI(Web Server Gateway Interface)是Pytho ...

  6. 如何使用Paste.Deploy

    转自:http://bingotree.cn/?p=100 1.Paste Deploy的一个组件,但是并不依赖于Paste的其它组件.其可以看成是一个独立的包.其主要用于通过一个配置文件完成WSGI ...

  7. keystone源码分析(一)——Paste Deploy的应用

    本keystone源码分析系列基于Juno版Keystone,于2014年10月16日随Juno版OpenStack发布. Keystone作为OpenStack中的身份管理与授权模块,主要实现系统用 ...

  8. how to read openstack code : paste deploy

    本篇分为以下几个部分 paste 是什么 怎样使用paste paste of neutron paste 是什么 WSGI 是python 中application 和 web server互通的标 ...

  9. [Python WEB开发] 使用WSGI开发类Flask框架 (二)

    WSGI     Web服务器网关接口 WSGI主要规定了Web服务器如何与Web应用程序进行通信,以及如何将Web应用程序链接在一起来处理一个请求. wsgiref Python中的WSGI参考模块 ...

随机推荐

  1. Struts2入门学习

    1.Struts2的前身是Opensymphony的Webwork2,实际上Strut和Webwork2合并后形成Struts2.   2.一个HelloWord示例 1)创建Web应用,所需要的Ja ...

  2. 文件相关操作工具类——FileUtils.java

    文件相关操作的工具类,创建文件.删除文件.删除目录.复制.移动文件.获取文件路径.获取目录下文件个数等,满足大多数系统需求. 源码如下:(点击下载 FileUtils.java) import jav ...

  3. Server Profiler

    Server Profiler 2014-10-31 工作原理 SQL Server Profiler这个工具是SQL Trace的一个GUI的版本,而SQL Trace是一组脚本,自SQL Serv ...

  4. 径向基函数(RBF)神经网络

    RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近.时间序列分析.数据分类.模式识别.信息处理.图像处理.系统 ...

  5. Linux同步机制(二) - 条件变量,信号量,文件锁,栅栏

    1 条件变量 条件变量是一种同步机制,允许线程挂起,直到共享数据上的某些条件得到满足. 1.1 相关函数 #include <pthread.h>  pthread_cond_t cond ...

  6. Phar文件

    phar 扩展名文件提供了一种将整个PHP应用程序打包放入一个被称之为phar(PHP archive)的文件从而更加容易便利地发布和安装的方法.就像是java的jar文件有点类似.除了这个功能外,P ...

  7. 基于jQuery的日历插件

    上个星期看到同事做一个有关日历提醒功能的需求,为了找个插件也是费了不少心思,然后刚好有时间就试着写了一个简单demo 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制 ...

  8. Replication in Kafka

    Replication简介 Kafka中的Replication功能是为了给每个partition提供备份,当某个Broker挂掉时可以迅速实现故障切换(failover).我们可以在创建或修改top ...

  9. 软件设计之UML—UML的构成[上]

    UML是一种通用的建模语言,其表达能力相当的强,不仅可以用于软件系统的建模,而且可用于业务建模以及其它非软件系统建模.UML综合了各种面向对象方法与表示法的优点,至提出之日起就受到了广泛的重视并得到了 ...

  10. makefile learning

    Copy:http://graybull.is-programmer.com/posts/37758.html 本文给出万能Makefile的具体实现,以及对其中的关键点进行解析.所谓C++万能Mak ...