现在运行Perl Web应用程序的一个非常流行的选择似乎是使用nginx web服务器代理请求到FastCGI守护进程或启用了PSGI的Web服务器(例如Starman)。一般来说,人们一直在问为什么要这样做(例如为什么要使用Catalyst/Plack/Starman与nginx?),答案似乎适用于两种情况(例如允许nginx提供静态内容,轻松重启应用程序服务器,负载平衡等)。
然而,我特别关注使用FastCGI与反向代理方法的优缺点。似乎广泛认为Starman是最快和最好的Perl PSGI应用程序/Web服务器,我很难看出使用FastCGI的任何优势。这两种方法都支持:
那么你为什么会选择其中一种呢?
然而,我特别关注使用FastCGI与反向代理方法的优缺点。似乎广泛认为Starman是最快和最好的Perl PSGI应用程序/Web服务器,我很难看出使用FastCGI的任何优势。这两种方法都支持:
- UNIX域套接字以及TCP套接字
- fork/process manager风格的服务器以及非阻塞事件驱动(例如AnyEvent)服务器。
- 信号处理/优雅重启
- PSGI
那么你为什么会选择其中一种呢?