3

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

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

那么我必须做什么?

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

1 回答 1

1

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

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

于 2013-12-13T06:00:26.347 回答