现在运行Perl web应用程序的一个非常流行的选择似乎是在nginx web服务器后面代理对FastCGI守护进程或支持PSGI的web服务器(例如Starman)的请求。
关于为什么要这样做有很多问题(例如Why use nginx with Catalyst/Plack/Starman?),答案似乎适用于这两种情况(例如允许nginx提供静态内容,轻松重启应用服务器,负载平衡等)。
然而,我特别感兴趣的是使用FastCGI和反向代理方法的优缺点。似乎Starman被广泛认为是最快、最好的Perl PSGI应用程序/web服务器,我很难看到使用FastCGI有什么好处。这两种方法似乎都支持:
TCP域套接字、sockets
同样,任一选项的nginx配置都非常相似。
那么为什么你会选择一个而不是另一个呢?
发布于 2011-03-05 07:34:42
反向代理设置(例如,nginx将HTTP请求转发到Starman)具有以下优点:
然而,它有以下缺点:
用特殊的URL来解决这个问题,将原始协议、主机和端口嵌入到后端的请求中,但这是你不需要用FastCGI/Plack/...;
选择你最喜欢的优点/缺点,然后做出你的选择;-)
发布于 2010-12-17 19:31:24
大多数系统管理员都能很好地理解HTTP,而且很容易调试。几乎总是已经部署了某种反向代理,所以只需在其配置中添加另一个配置节,以便在几秒钟内启动应用程序并运行,这是小菜一碟。我从来没有测试过这两种设置的速度差异,但另一方面,我在这方面从来没有遇到过任何问题,所以它不会那么糟糕。
https://stackoverflow.com/questions/4003714
复制相似问题