取势 明道 优术

正在浏览标签 psgi

总共找到 27 篇

作者为 扶 凯 发表

中间件是 PSGI 中的一个概念(也是来源于 Python 中的 WSGI 和 Ruby 中的 Rack ).在这里我们定义的组件是工作在 Web 服务器和应用程序的中间的. 这个图非常好的指出来 中间件(middleware ) 的概念.在 PSGI 的应用在这个洋葱中的最核心的一层.中间件的组件是会取得源应用的返回内容,他们会在接收到请求时做一些预处理(由外向内),然后进行后面的处理 response 进行输出 (内到外). 很多...

作者为 扶 凯 发表

前几个文章讲了几次都是怎么转换现有的基于 CGI 的应用到 PSGI 和告诉你怎么运行它们.现在要告诉你终极方法来在 PSGI 的应用中运行 CGI 的程序.并且大部分时候不用修改任何 CGI 的内容.   在CGI.pm 的子类中有一个 CGI::PSGI 的子类.使用它可以只要几行,就能让你轻易的转换 CGI.pm 的应用到 PSGI 的环境.但是对于一个非常混乱的或老的 CGI 程序仅仅打印输出到标准输出,那我们就不...

作者为 扶 凯 发表

使用 PSGI 来做 Web 应用开发方面最大的好处是,一旦你在你适配的框架上运行PSGI,你不用关心和了解其它的一切,原来需要你很处理的东西,例如,处理 FastCGI 和 CGI 在 Web 服务器之间的一堆配置. 同样,如果你有一个自己的大规模的 Web 应用,开源或者专有的,你可能是自己写的Web应用框架. 上次我们聊到怎么样转换存在的 web 应用框架适配到 PSGI 的接口. 基于 CGI.pm 的框架 上次我讲了怎么转...

作者为 扶 凯 发表

自从开始 Plack 和 PSGI 的项目到现在,收大量的流行框架的作者反馈,象 Catalyst, Jifty 和 CGI::Application. CGI::Application 是一个相当传统的 CGI 的基本的 web 应用的框架,他使用 CGI.pm 来专门处理 web 服务器的环境象我们上个文章中讲到的. Mark Stosberg,他当前维护着 CGI::Application ,我和他共同合作添加 PSGI 的支持到 CGI::Application. 我们想到了多种方法,包括为 CGI.pm ...

作者为 扶 凯 发表

最流行的 Web 服务器环境中运行 Web 应用程序中主要是 CGI, FastCGI 和 mod_perl .CGI.pm 是 Perl 核心模块中的一个能运行在这些所有的环境中(只需要小的调整),这意味着大多数Web应用程序和框架以某种方式使用 CGI.pm 来处理环境的差异,因为它是最容易的. CGI::PSGI 是 CGI 模块的子类,他能很容易地将现有的 CGI.pm 转移到 PSGI 应用的使用上来.例如,您有以下CGI应用程序: use CGI; m...

作者为 扶 凯 发表

Plack 的应用在 Plack::App 的名字空间下,CPAN 附带了非常多现成并且非常好用的 PSGI 的现成的应用.他们非常的方便和实用.这次的例子主要讲的是 Plack::App::File 和 Plack::App::Directory 这二个应用. Plack::App::File 它的应用是转换一个请求象 /foo/bar.html 到本地的文件 /path/to/htdocs/foo/bar.html ,然后打开这个文件句柄,返回给 PSGI 来做响应. 所以这个有点象 lighttpd,ngin...

作者为 扶 凯 发表

这是我的译文,原文: http://advent.plackperl.org/2009/12/day-4-reloading-applications.html   上次文章我到了一些 plackup 命令行的基本功能,今天会学习更多 自动重新加载应用 在开发的过程中,我们常常会修改我的 Perl 代码.然后存成 .psgi 和 .pm 文件.因为 Plack 的服务通过 plackup 的命令来运行,所以你的 Perl 代码(PSGI 的应用)需要编译和运行多次.所以你需要常常...

作者为 扶 凯 发表

本文为我的译文,原文地址:http://advent.plackperl.org/2009/12/day-3-using-plackup.html 前二个文章讲了怎么样使用 plackup 的命令来运行 Hello World 的 PSGI 的应用.我们知道Plackup 是 PSGI 协议的实现. 这个 Plackup 是用来做什么的啦,其实这个是用来加载 PSGI 应用的命令行工具.是从 Rack's 的 rackup 得到的灵感.它能用来运行任何的 PSGI 的应用.我们只需要给 PSGI 存成 ...