在何种情况下,应该只将Node.js用作实际部署中的服务器?
当而不是只想使用Node.js时,Node.js有什么更好的发挥呢?阿帕奇还是尼克斯?
发布于 2013-05-27 10:05:24
有几个很好的理由可以将另一个are服务器放在Node.js前面:
我要警告第二个要点:您可能应该通过CDN或者从像Varnish这样的缓存服务器后面提供静态文件。如果您正在这样做,那么源源是Node还是Nginx还是Apache并不重要。
特别是nginx警告:如果您使用websockets,请确保使用最新版本的nginx (>= 1.3.13),因为它只是添加了对升级连接以使用websockets的支持。
发布于 2013-05-27 16:05:30
为了在pauljz的回答中再加上一个原因,我使用了一个前端服务器,这样当我重新启动后端服务器或它因某种原因崩溃时,它就可以提供502个错误页面。这使您的用户永远不会收到关于无法建立连接的错误。
发布于 2014-06-05 21:03:24
我相信,只要您知道自己在做什么,使用Node来服务静态文件在任何情况下都是好的,。使用应用服务器为这么多的静态文件提供服务无疑是一个新的范例(每一个?)相竞争的技术(PHP、Ruby、Python等)要求在应用服务器前面有一个像HTTPD或Nginx这样的web服务器。
我所读过的反对使用Node提供静态文件的每一个客观原因都围绕着使用您最了解的内容或使用被认为更好的测试/更稳定的内容的想法。实际上,这些都是非常有效的理由,但没有什么纯粹的技术意义。
除非您找到一个传统web服务器无法使用Node的功能(我怀疑您会这样做),否则请选择您最了解的内容或您希望使用的功能,因为这两种方法都是可以的。
至于Nginx和Apache --他们将和Node“玩”同样的游戏。你应该把它们和Node比较一下。
https://stackoverflow.com/questions/16770673
复制相似问题