繁体   English   中英

Django:静态/媒体文件不同的服务器

[英]Django: Static/Media Files different server

我担心Django中的媒体文件。 我只是想知道为什么某些教程建议为媒体使用其他Server实例?

  1. 这有什么好处?
  2. 它对我的网站有很大的影响或速度变化吗?
  3. 如果我要为媒体使用其他服务器,则规格(RAM数量,磁盘空间等)是什么?

Postgre也有同样的问题。


目前,我的应用程序正在GCE中运行。

Python 2.7,带nginx和uWSGI的Django 1.8

Compute Engine实例:n1-standard-2(2个vCPU,7.5 GB内存)

您通常会出于各种原因考虑将运行python的应用服务器,数据库以及静态文件和媒体文件分开。

原因之一是可伸缩性-如果您的站点承受高负载,则可以轻松检测瓶颈并设置另一台服务器来共享负载。

除了应用程序服务器和数据库之外,您的静态文件和/或媒体也可以扩展。 如果您的应用服务器无法再处理负载,则该负载不能自动应用于数据库或静态/媒体内容,反之亦然。 这始终取决于您的用例。 将前面的内容分开可以使您更加灵活。

另一个原因是安全性。 如果存在安全漏洞(例如django代码),攻击者可以利用该漏洞在您的主机上运行他/她想要的任何代码,那么其他内容就无法在主机上直接使用。

django文档中所述,您可能希望为静态文件运行非常轻量级的设置,而无需从Web服务器内部执行任何代码(没有python,php或其他任何东西-只是静态文件)

硬件要求取决于您的负载和您选择的软件。 如果您不希望负载过高,而只有一台服务器可用,那么从一台主机提供全部服务就没错。 如前所述,它始终取决于您要实现的目标以及您(或客户)对设置的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM