使用Nginx在多台计算机和硬盘驱动器上提供静态文件

XCanG

我有一个项目,它将在部署后存储大量媒体内容。项目使用Python,Django,也通过Gunicorn和Supervisor运行。

对于静态文件,我将使用nginx。

我通过遵循本文进行了基本设置,但是我有一个问题,如何才能更动态地存储内容。开始时,我有一台机器,每台机器有4个硬盘驱动器,每个硬盘2Tb,以后会再买,还有新机器(目前我只有一台)

站点位于site.com,nginx位于子域,i.site.com并且在根目录中有2个文件夹:/static用于存储css,js,svg等设计元素以及/media将存储的媒体内容。

问题是将nginx设置为在每个硬盘驱动器上写入媒体,并且将使用每台计算机。

对于速度,我需要写在不同的硬盘驱动器(如旋转/循环),每一个新的文件,例如我节约file1,它在所著machine1/hdd1,那么我节约file2,它在所著machine1/hdd2......file4machine1/hdd4file5machine2/hdd1 (目前为我提到我只有一台机器,但将来会更多

因此,任何人都有经验或想法如何做到这一点?我确定nginx至少可以在多个硬盘上写入,但是我不确定如果需要在多台计算机上写入媒体数据该怎么办。如果您还有其他想法,也请提出建议。

您可以在提到的文章中或通过以下链接找到nginx config的示例我也在寻找nginx上游模块,但实际上不确定是否可以使用它进行配置。

木霉

更新:以前,我写答案时并没有过多考虑您要解决的实际问题。您在下面的评论中提出了一些我以前忽略的有趣问题。我现在已经重写了答案。希望这会有所帮助。


在此答案的先前版本中,我提到了负载平衡。但是显然,您的问题更多是关于文件存储,而不是管理负载。

您正在寻找的就是分布式文件系统分布式文件系统允许您插入许多磁盘,并且可以扩展到多台计算机。

DFS将所有磁盘和计算机组合在一起,使您可以像访问单个磁盘一样访问它们。不仅如此,如果需要,DFS软件还可以为您完成文件复制。


我没有使用任何DFS的经验,但是我已经阅读了一些有关GlusterFS的知识我听说这很好,但是请随时进行研究。

让我尝试解释一下GlusterFS的工作原理。看这个

                                                                / Disk 1
                                  / Machine 1 [Gluster Server] |
                                 /                              \ Disk 2
                                /
Nginx  ->  Gluster Client  ->  |
                                \
                                 \                              / Disk 1
                                  \ Machine 2 [Gluster Server] |
                                                                \ Disk 2

无需太多细节,Gluster客户端将允许您的Nginx服务器从单个目录(例如)访问Machine 1和Machine 2 /media在此/media目录中,即使所有数据/media存储在不同的计算机上,您也可以访问这两个计算机,就像所有数据都存储在内部一样。


指南和教程:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

外部硬盘驱动器未出现在计算机中

忘记了密码(加密的硬盘驱动器),如何再次使用计算机?

如何将外部硬盘驱动器连接到Windows 95计算机?

外部硬盘驱动器上的Ubuntu多台计算机

在新计算机上安装旧计算机的硬盘驱动器?

如何确定硬盘驱动器是否适合我的计算机?

如何从删除了Windows的计算机访问硬盘驱动器?

拔下USB硬盘驱动器会损坏计算机吗?严重地?

在个人笔记本电脑/计算机上使用外部硬盘驱动器

我可以在计算机运行时连接和断开SATA硬盘驱动器吗?

旧硬盘驱动器上的Windows 8.1是否可以在新计算机上使用?

如何将硬盘驱动器文件从虚拟计算机传输到主机OS?

拥有多个硬盘驱动器会降低计算机的速度吗?

如何从硬盘驱动器损坏的计算机中恢复文件?

在两台计算机上将ONE硬盘驱动器与ONE OS一起使用

拔下USB外部硬盘驱动器时,从计算机或外部硬盘驱动器上拔下电缆是否更安全?

如果我在两个不同的硬盘驱动器上使用两个不同的操作系统,将会损坏我的计算机吗?

可以在关闭计算机的同时保持硬盘驱动器连接吗?

当计算机从睡眠状态恢复时,硬盘驱动器消失

根据ups状态打开/关闭硬盘驱动器和计算机

将Ubuntu安装的硬盘驱动器添加到新计算机

某些计算机无法从外部硬盘驱动器启动

在两个外部驱动器之间移动文件时,它们是否被临时写入计算机的内部硬盘驱动器?

我在单独的硬盘驱动器上安装了Ubuntu,但是现在我的计算机以不同的方式启动

如何处理任何计算机无法识别的USB硬盘驱动器

准备旅行时,如何仅使用一个硬盘驱动器就可以在多台计算机上启动相同的Windows 10安装?它可靠吗?

硬盘驱动器和分区未显示在此计算机上的“文件”下

我可以在外部硬盘驱动器上安装 Ubuntu 来切换计算机吗?

如何使用从另一台计算机安装的 ubuntu 作为外部驱动器访问硬盘驱动器?