我目前正在用 Node.js 编写一个 Web 应用程序,很快就会设置我的 Linux 服务器来启动它。我很好奇,是否值得为我的 Node 应用程序的静态文件运行 Nginx?是否应该运行 Nginx 来反向代理可能在我的服务器上运行的任何其他 Node 应用程序,或者我应该只使用类似节点 http 代理根本不使用 Nginx?我的 Node 应用将使用socket.io由于 Nginx 不支持 http 1.1,因此似乎有一个解决方法这里。
基本上,将 Nginx 放在我的服务器上的 Node 应用程序前面有什么好处吗?还是只会造成阻碍?
答案1
我认为这样做很有用。
nginx 有大量代码,能够以非阻塞方式高效地将文件从磁盘传输到网络套接字。它比 node 更高效地完成这项工作。
当然,如果您没有提供太多静态内容服务那么它可能没用。
但是 nginx 还可以在多个节点服务器上进行负载平衡,所以这是另一个潜在的优势。不过,你的应用程序必须被编写成具有这样的可扩展性。