- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个项目,它将在部署后存储大型媒体内容。项目使用 Python、Django,也通过 Gunicorn 和 Supervisor 运行。
对于静态文件,我将使用 nginx。
我通过以下方式进行的基本设置 this article ,但我有一个问题,如何更动态地存储内容。一开始我有一台机器有 4 个硬盘,每个 2Tb,以后会买更多,还有新机器(目前我只有一个)。
网站位于 site.com
, nginx 位于子域 i.site.com
并在根目录中有 2 个文件夹:/static
用于存储 css、js、svg 等设计元素和/media
将存储什么媒体内容。
问题是将 nginx 设置为在每个硬盘驱动器上写入媒体,并且将使用每台机器。
为了速度,我需要将每个新文件写入不同的硬盘驱动器(如旋转/循环),例如我保存 file1
,它写在 machine1/hdd1
,然后我保存 file2
,它写在 machine1/hdd2
... file4
在 machine1/hdd4
, file5
在 machine2/hdd1
(目前正如我所提到的,我只有一台机器,但将来会更多)。
那么,任何人都有经验或想法我该怎么做?我确定nginx至少可以在多个硬盘上写入,但是如果我需要在多台机器上写入媒体数据,我不确定该怎么做。
如果您还有其他想法,也请提出建议。
您可以在上述文章或关注 this link 中找到 nginx 配置示例.我也在找 nginx upstream module ,但我实际上不确定是否可以使用它进行配置。
最佳答案
更新:以前,我在写答案时没有过多考虑您要解决的实际问题。您在下面的评论提出了一些我以前忽略的有趣问题。我现在已经重写了我的答案。希望这会有所帮助。
在此答案的先前版本中,我提到了负载平衡。但很明显,您的问题更多是关于文件存储而不是管理负载。
您正在寻找的是 分布式文件系统 .分布式文件系统允许您插入许多磁盘,并且可以扩展到多台机器。
DFS 将所有磁盘和机器组合在一起,让您可以像访问单个磁盘一样访问它们。不仅如此,如果您愿意,DFS 软件还可以为您处理文件复制。
我没有使用任何 DFS 的经验,但我读过一些关于 GlusterFS 的文章。 .我听说它很好,但请随意进行研究。
让我试着解释一下 GlusterFS 是如何工作的。看这个图:
/ Disk 1
/ Machine 1 [Gluster Server] |
/ \ Disk 2
/
Nginx -> Gluster Client -> |
\
\ / Disk 1
\ Machine 2 [Gluster Server] |
\ Disk 2
/media
.里面
/media
目录,您可以访问两台机器,就像所有数据都存储在
/media
中一样即使它存储在不同的机器上。
关于django - 使用 nginx 在多台机器和硬盘驱动器上提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47728803/
亲爱的人们,我的 python Combobox 不填充 Windows 驱动器。请帮忙!!! import tkinter as tk from tkinter import ttk from tk
在 Linux 中有没有办法通过 libudev/sysfs 来区分 U 盘(闪存)和 USB 硬盘?如果没有,有没有办法直接查询硬件?谢谢。 最佳答案 也许你可以查看 the device subc
我们有一个进程在我们的 Linux 机器上运行大约需要 20 个小时。我们想让它更快,作为第一步需要确定瓶颈。这样做的最佳选择是什么? 我正在考虑每隔 N 秒对进程的 CPU、RAM 和磁盘使用情况进
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我们有以下代码来检索硬盘 id 处理器 id 和 mac 地址: private static string GetWMIValue(string query, string property
我是一名优秀的程序员,十分优秀!