PSGI / Plac应用程序中的正确方法(Perl)

时间:2013-12-12 15:05:34

标签: perl fork psgi

我有一个这样的问题 - 在PSGI / Plack应用程序中分叉的正确方法是什么?

一方面我知道PSGI应用程序是“后端不可知”的,所以它可以使用不同的方法运行 - FastCGI,CGI等 但另一方面我知道,例如在FastCGI应用程序中,我们需要在fork之前/之后对FCGI :: Request对象进行一些操作。

那么我必须做什么?

  1. 只是叉子:)
  2. 做一些魔术操作和分叉(什么操作?)
  3. 重写应用程序架构=>将所有繁重的操作移动到外部守护进程中。

1 个答案:

答案 0 :(得分:1)

由于PSGI是一个规范,您可以在所有这些情况下使用它。 如果您可以在mod_perl中运行PSGI应用程序,使用FastCGIs服务器,作为CGI,或者运行本地PSGI服务器(如plack等)。

你如何开始它们显然取决于你选择哪一个。 Mod_perl通过其apache进程生存和死亡,CGI脚本不能从外部启动。但是FastCGI和像Starman这样的独立PSGI服务器往往由反向代理处理,或者手动启动和停止。将其留给代理,PSGI服务器的配置是最简单的,尽管有时你会希望能够独立于代理控制外部进程。