通过非标准端口提供静态 Web 文件

通过非标准端口提供静态 Web 文件

我即将部署一个Django项目投入生产。我正在考虑一些基础设施决策。想到的办法是使用不同的服务器提供静态文件,例如lighttpd

但是,我们是从单个专用服务器开始的,因此我们唯一的选择是对静态文件网络服务器使用非标准端口。

  1. 有先例吗?即有“大人物”这样做吗?

  2. 我应该使用或避免使用哪些特定端口?

  3. 有人能想到走这条路有什么缺点吗?

答案1

使用不同的 IP 地址和 TCP/80 可以获得最高的最终用户兼容性,而不是使用相同的地址和 TCP/8080 之类的端口。一些非常严格的企业防火墙不允许连接到陌生端口,即使是 TCP/8008 或 TCP/8080 等常用端口。如果您不担心这一点,那么绑定到常用的 HTTP 备用端口应该足以满足您的要求。

答案2

我只需在同一个 Web 服务器上设置另一个虚拟主机,以便从“static.example.com”提供静态内容,从而使此更改变得微不足道。您可以按照自己的方式进行操作,但可能不会看到太多性能提升,但请尝试:

  1. 在 localhost:8080 上设置 django 应用程序虚拟主机
  2. 设置代理核心将 localhost:8080 作为后端
  3. 在 lighttpd 中配置 static.example.com 虚拟主机

有先例吗?即有“大人物”这样做吗?

当然,人们从不同的服务器提供静态内容,我听说 YouTube 在这方面很出色。

我应该使用或避免使用哪些特定端口?

我会避免使用 80 以外的端口,但这只是我个人的看法。:-)

有人能想到走这条路有什么缺点吗?

  1. 如果你只使用一个应用程序服务器的话,那么它将非常复杂,而且收益也非常小。
  2. 所有 Django 页面都必须通过代理。
  3. 你必须在这里问.. :-)

相关内容