当前位置: 首页 > 面试题库 >

有什么更好的方法:通过Express或nginx提供静态文件?

龙志勇
2023-03-14
问题内容

我正在构建Node.js应用程序,并且正在使用nginx作为反向代理。我的应用程序有一些我需要提供服务的静态文件和一个Socket.io服务器。

我知道我可以直接使用Express服务静态文件(使用express.static中间件)。另外,我可以将nginx直接指向我的静态文件所在的目录,以便由nginx提供服务。

所以,问题是:哪种方法更好?使用每种方法时,我可以面对哪些利弊?


问题答案:

用于开发: express ,主要是因为它提供的灵活性…您可以在开发过程中非常轻松地更改静态位置和结构

用于生产: nginx
,因为它要快得多。节点/表达式对于执行逻辑非常有用,但是对于提供原始内容……没有什么可以击败nginx的。您还可以获得其他功能,例如gzip,负载平衡…



 类似资料:
  • 问题内容: 这是我的项目文件夹 这是我index.js中的静态文件配置 这是我的index.html 这是我的nginx配置 但是我在所有脚本上都得到404。另一个奇怪的是,这些文件上的mime-type设置为 我在这里做错了什么? 我有一个项目,该项目具有相同的项目结构,并且具有相同的配置,但它适用于此项目,在这种情况下不起作用。 问题答案: 您无需配置Nginx 和 Express即可提供静态

  • 问题内容: 我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。 我的html文件使用这样的代码- 我的nginx配置是这样的 有一个目录,其中有相应的&目录。 奇怪的是,当我访问它们时页面显示正常。 我已经清除了

  • 我一直在处理将一个站点从Apache迁移到Nginx的过程,我快要失去理智了。虚拟主机不想提供静态资源(css、js等),我似乎不知道为什么。服务器块看起来像这样: 我错过了什么?我知道这是因为我对Nginx缺乏经验,但任何建议都将不胜感激。 谢谢 更新 这似乎与我以前遇到麻烦的化名有关。如果我将我的文档根指向别名位置(),并尝试呈现没有别名的静态内容,它会呈现良好的效果。一旦我在网址中输入别名.

  • 问题内容: 我想在不指定扩展名的情况下提供html文件。没有定义路线,有什么办法可以做到这一点?例如代替 我只想做 问题答案: 一种快速的“肮脏”解决方案是将请求附加到其中没有句点并且公共目录中存在HTML文件的请求中:

  • 我有一个express应用程序托管在google上,它使用express静态中间件。我希望将静态文件存储在上,并且能够从常规文件系统切换到而无需太多修改。 我在考虑编写一个中间件: 使用Google Cloud client library for Node.js,类似于Express缓存来自Google Cloud Storage的图像流); 或充当代理(将路径名映射到原始URL)。 有没有更简

  • 当我将dockerised django应用程序部署到digital ocean时,我在提供静态文件和媒体文件方面遇到问题。我在这里读过很多类似的问题,但到目前为止,没有一个答案对我有效。 大致按照这个指南,,https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/#nginx,我现在的状态是,我