2011-04-19 308 views
1

有没有办法编译nginx来处理反向代理websockets请求?我在Node.JS中构建了一个实时应用程序,并且需要一个Web服务器。我读过的所有内容都说Nginx不能反向代理websockets请求,所以我对如何处理这个问题有些困惑。Nginx反向代理websocket

我在想刚刚实现在节点的所有服务器的逻辑,但也存在一些问题,这种方法

1)PHP - 我需要一种方法来服务的PHP文件 2)静态文件 - 我真的很喜欢对于静态文件,nginx非常快速。虽然有一些模块,所以这个问题并不是很大。 3)当我需要更新我的Node应用程序时,我希望能够与主服务器分开重启该部分。另外,如果由于某种原因Node应用程序崩溃,我不希望整个Web服务器崩溃!

+1

只需使用node.js负载平衡器并在其后面有一个节点&nginx服务器。 – Raynos 2011-04-19 22:38:29

回答

1

最简单的解决方案是在nginx中为多个子域设置虚拟主机,并在单独的服务上运行每个服务。这样您就不必担心在同一个端口上区分来自标准http请求的websockets请求。

另外,您可以使用PHP-FPM在nginx后面运行php,但这对于工作是一个相当大的挑战,因此Apache可能是更好的选择。

+0

好的,谢谢你的输入,我想这是我会做的 – MichaelMackus 2011-04-27 21:36:10