我正在尝试使用Plack/Starman部署我的小Catalyst web应用程序。所有的文档似乎都建议我将其与nginx结合使用。这样做的好处是什么?为什么不直接在端口80上使用Starman?
发布于 2010-05-31 00:58:21
它不一定是特定的nginx,但出于以下几个原因,您需要某种类型的前端服务器来代理您的应用程序服务器:
发布于 2010-05-31 01:06:47
我在#plack上问了这个问题,并从@nothingmuch得到了以下响应(我添加了格式化):
使用nginx你可以设置负载均衡/故障转移类型的东西。如果网站很小/简单,那可能就太夸张了。
我不知道Starman可能有什么缺点。也许如果你在静态文件上有很多点击,nginx会使用更少的cpu/内存来处理它们,但这在一个典型的web应用程序中不太可能很重要。较大的下载量可能会占用Starman员工的静态文件下载时间。(也许不是,使用sendfile。)这就是我能想到的全部。
如果您希望在不停机的情况下进行升级,则...A故障转移设置非常有用。(“失败”旧版本。)
发布于 2014-10-21 05:39:46
另一个原因是,轻量级前端服务器(即使是Apache也可以)在每个连接上消耗的内存比典型的Starman进程少得多(只有几MB,而不是几十MB或超过100 MB)。由于连接打开了一段时间,特别是当您想要使用保持连接时,您可以使用更少的RAM来支持大量的同时连接。只需确保代理前端服务器的缓冲区大小足以立即从后端加载典型的HTTP响应。然后,后端可以自由地处理下一个请求。
https://stackoverflow.com/questions/2939393
复制相似问题