【发布时间】:2010-10-23 11:20:50
【问题描述】:
如今运行 Perl Web 应用程序的一个非常流行的选择似乎是在 nginx 网络服务器后面,该服务器将请求代理到 FastCGI 守护程序或启用 PSGI 的网络服务器(例如 Starman)。
关于为什么一般人会这样做的问题很多(例如Why use nginx with Catalyst/Plack/Starman?) 并且答案似乎在这两种情况下都适用(例如,允许 nginx 提供静态内容、轻松重启应用服务器、负载平衡等)
但是,我对使用 FastCGI 与反向代理方法的优缺点特别感兴趣。似乎 Starman 被广泛认为是最快和最好的 Perl PSGI 应用程序/Web 服务器,我很难看到使用 FastCGI 的任何优势。这两种方法似乎都支持:
- UNIX 域套接字以及 TCP 套接字
- fork/流程管理器样式的服务器以及基于事件的非阻塞(例如 AnyEvent)服务器。
- 信号处理/优雅重启
- PSGI
同样,任一选项的 nginx 配置都非常相似。
那么为什么你会选择一个而不是另一个呢?
【问题讨论】:
标签: perl nginx fastcgi reverse-proxy plack