vhost使用Node.js connect.vhost指令vs NGINX proxy_pass?

使用node.js作为路由器的connect.vhost指令而不是使用proxy_pass的NGINX有什么优点/缺点?

Connect.vhost

利弊

  • 相当简单
  • 只有一个服务器担心
  • 同一主机上不会有多个进程争夺相同的内存

缺点

  • 不会超越1核心,如果你需要在一台机器之外集群,反正你用nginx或类似的东西。
  • 你仍然需要一个解决方案来将端口80重定向到node.js(除非你正在以root身份运行节点),比如iptables或者nginx。

nginx的

利弊

  • 这是成千上万(百万?)的网站用作他们的前端或唯一的服务器
  • 不会增加太多的开销
  • 你可以直接使用静态文件,而无需使用node.js

在默认情况下,我会选择nginx,但是我可以看到使用Connect.vhost来快速找到需要的东西,而且不需要缩放。

连接虚拟主机的优势: WebSockets正常工作。 您不必安装和配置nginx。 整个堆栈是node.js. 行为可能更符合你的喜好。

Nginx优点: Nginx是一个成熟稳定的Web服务器。 这是不太可能会崩溃或表现出奇怪的行为。 它也可以托管你的静态资源,PHP网站等

如果是我的话,除非我需要Nginx的一些特殊功能,否则我会选择Connect vhost或node-http-proxy来获得all-node.js堆栈。