我正在构建一个Node.js应用程序,我使用nginx作为反向代理。我的应用程序有一些我需要提供的静态文件和一个Socket.io服务器。什么是更好的方法:用Express或nginx提供静态文件?
我知道我可以直接使用Express(使用express.static中间件)来提供静态文件。另外,我可以将nginx直接指向我的静态文件所在的目录,所以它们将由nginx提供。
所以,问题是:哪一个更好?使用每种方法时我可以面对哪些优点和缺点?
我正在构建一个Node.js应用程序,我使用nginx作为反向代理。我的应用程序有一些我需要提供的静态文件和一个Socket.io服务器。什么是更好的方法:用Express或nginx提供静态文件?
我知道我可以直接使用Express(使用express.static中间件)来提供静态文件。另外,我可以将nginx直接指向我的静态文件所在的目录,所以它们将由nginx提供。
所以,问题是:哪一个更好?使用每种方法时我可以面对哪些优点和缺点?
发展:表达,主要是因为它的灵活性提供了...你可以发展
过程中很容易改变你的静态位置和结构进行生产:nginx的,因为它多快多了。 Node/express对执行逻辑非常有用,但对于提供原始内容......没有什么可以击败nginx。您还可以得到额外的功能,如gzip,负载均衡...
然而,这个问题已经被问在计算器的次数已经:看
你能详细解释一下吗? – serge1peshcoff
The Express documentation explicitly recommends using a reverse proxy where possible。引用自this article:
Nginx可以在处理静态文件方面做得更好,并且可以防止请求非动态内容阻塞我们的节点进程。
有很多文章讨论这个主题,这些都会有更详细的介绍,但我肯定会听从Express开发者提出的建议。
Nginx拒绝。 –