性能方面,将请求从Apache VirtualHostredirect到Node.js实例是否有意义? 代理是否抵消了令人敬畏的Node.js性能?
仅供参考:我还需要在同一台机器上parsing和运行几个PHP Web应用程序,这就是我甚至考虑使用反向代理的唯一原因。
根据我的研究,Nginx具有较less的开销,因此performance略好,但不幸的是不支持HTTP / 1.1。
我也想过让Node.js充当反向代理,并向Apache发送某些请求(例如,然后处理PHP文件),但是我听说可能有很多安全问题。
我build议设置Apache来反向代理Node.js是违背了Node.js的意图。 节点非常轻量级 – 开销很小。 启动apache进程来处理Node.jsstream否定了使用Node.js的要点(本质上,你将受到Apache性能的限制)。
节点有时不被认为是稳定的,没有监测运行,可能不是理想的前端。 我可能会build议将Squid或HAproxy放置在Node和Apache之前,允许其中任何一个作为您的代理,并在不同的端口(例如8080,8081)上运行Node和Apache。 Squid和HAProxy都具有良好的性能,并且可以满足您的需求,而不会降低后端服务器的性能。
您不应该使用Apache来代理node.js 部分node的速度是通过以最小的开销处理它自己的套接字I / O而获得的:这将通过与任何其他服务器代理而被否定。
相反,您可以使用来自nodejitsu的出色node-http-proxy向node-http-proxy nodejitsu – 第二个示例“使用自定义服务器逻辑安装独立代理服务器”适合您的使用情况。
编辑:我实际上使用nginx和php-fpm设置了PHP / node安装,这里有完整的说明。 您还可以从nginx运行反向代理,并允许node同时处理自己的连接。