我目前有几个运行在Apache反向代理后面的应用程序。我这样做是因为我有多台服务器的一个公共IP地址。我使用VirtualHosts将正确的应用程序代理到正确的服务。例如:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName nagios.myoffice.com
ProxyPass / http://nagios.myoffice.com/
ProxyPassReverse / http://nagios.myoffice.com/
</VirtualHost>这在PHP,Django和Rails这样的应用程序上运行得很好,但我想开始试验一下Node.js。
我已经注意到,Apache代理背后的应用程序不能像我直接访问它们时那样处理高负载。很可能是因为Apache的配置不够理想(可能同时连接不够多)。
我想在node.js中试验的最酷的特性之一是socket.io功能,我担心这会暴露出性能问题。特别是因为,据我所知,socket.io将保持我宝贵的几个Apache连接中的一个不断打开。
你能推荐一种反向代理服务器,我可以在这种情况下使用,它可以让我使用多个虚拟主机,并且不会过多地抑制node.js应用程序的性能,也不会妨碍socket.io实验?
发布于 2012-07-13 01:54:00
发布于 2012-07-13 03:59:50
虽然这引入了一项新技术,但我建议使用nginx作为前端。nginx是一个用c编写的快速和坚固的服务器,它非常擅长反向代理。与node一样,它也是事件驱动和异步的。
您可以使用nginx将请求转发到您正在运行的各种nodejs服务器,无论是负载均衡,还是依赖于url (因为它可以执行重写之类的操作)。
https://stackoverflow.com/questions/11457636
复制相似问题