【发布时间】:2013-08-11 18:49:58
【问题描述】:
我正在考虑使用 nodejs 来制作一个非实时应用程序。例如,博客、论坛或图片板之类的网站。
我读到 nodejs 在用于异步作业时效果很好。所以我想知道当用于提供大量静态文件时会产生什么结果,例如大图像、css 和 js 文件等。
是不是在发送文件时(假设是2-3MB),整个服务器都会被阻塞,直到传输完成?我还读到有可能使用操作系统的sendfile() 系统调用来完成这项工作。这种情况下,Express 支持吗?
【问题讨论】:
-
是的,
Express确实支持sendfile()功能,我已经使用Node.js写了我的博客,这很棒! Spectrum. -
为了在 Web 上提供静态文件,您可能需要考虑使用专用 CDN(例如 Amazon CloudFront)。
-
谢谢@Spectrum。您可以发布文章的链接吗?
-
nginx 和 node.js 的组合非常容易设置,并且可以保护 node 免受会攻击任何 Web 服务器的垃圾请求的冲击。 Nginx 可以设置为仅将某些 url 路径转发到节点,并从文件目录中提供其余的路径。此设置对于允许节点响应 ajax 请求并在 nginx 提供 javascript 时仍满足浏览器同源策略限制非常有用。
标签: node.js