似乎大多数 Web 服务器(Apache、Nginx、Lighthttpd)都将静态文件与 html 文件分开(不同的配置)。这是为什么?
我正在尝试使用 Apache 部署我的 Django 应用程序,到目前为止的部署非常简单。在开发过程中,Django 服务器提供静态文件,我无需费心对其进行配置。为什么它在真实的网络服务器中不同?
最佳答案
这是一个性能问题。
在生产设置中,您不希望通过 Django 提供静态内容。通过 django 提供静态内容涉及很多开销(加载静态文件、处理 python 字节码、通过 WSGI 传递等),这对于静态内容来说是完全不必要的。
Web 服务器本身在提供静态内容方面非常快速和高效,因此通常没有理由在请求中涉及 django/python。
对于没有大量负载的小型站点,您可以让 django 提供静态内容(您需要配置 django 以使用 DEBUG=False
提供静态内容)并且它相对无害,但这不是这样做的“正确方法”。
关于django - 为什么静态文件在网络服务器中单独提供?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26105603/