小编Joe*_*son的帖子

使用 FastCGI 在 Apache 之外运行 Plack PSGI Perl 应用程序的最佳方法?

我目前正在运行带有由 Plack::Handler::Apache2 调用的 PSGI 应用程序的 Apache/mod_perl。我们遇到的问题是每个 Apache 进程都会消耗一个到 PostgreSQL 数据库的连接,这很昂贵。为了解决这个问题,我们计划运行与 Apache 分开的 PSGI 应用程序,并让所有 Apache 进程通过 UNIX 域套接字与其进行通信。在我的情况下,您会推荐什么设置?

我的计划是使用 plackup 运行它:

plackup -s FCGI -E production --nproc 100 --daemonize --listen /tmp/myapp.sock \
/usr/local/bin/myapp.psgi
Run Code Online (Sandbox Code Playgroud)

我问过 Plack 的作者 Tatsuhiko Miyagawa,是否建议将 plackup -s FCGI 用于生产目的。他提供了以下答案:

“虽然它可以用于生产,但我通常建议使用其他专用服务器,例如 Starman、Starlet 或 uwsgi。FCGI 是一个例外,因为除了默认的 Plack::Handler 之外,我们没有特定的 FCGI 守护进程。我们有一个计划将 FCGI 从 Plack 核心中分离出来,并将其作为单独的安装。”

现在,在 FCGI 从 Plack 中分离出来之前,问题是,在 Apache 之外使用 FastCGI 运行 PSGI 应用程序的最佳方法是什么?

apache perl fastcgi plack psgi

5
推荐指数
1
解决办法
1513
查看次数

标签 统计

apache ×1

fastcgi ×1

perl ×1

plack ×1

psgi ×1