【问题标题】:File transfer between app and media server应用程序和媒体服务器之间的文件传输
【发布时间】:2012-05-11 15:30:16
【问题描述】:

我有一个多服务器设置,两个盒子通过 Django 处理动态请求,还有一个静态/媒体文件服务器,使用 NginX 服务。

我的问题是:将上传的媒体文件从 django 盒子传输到媒体服务器的推荐方式是什么?

主要问题是通过管理员上传的文件。所有用户生成的内容都放在一个 celery 队列中,该队列使用 sftp 拉取文件,并调整它们的大小。但是,在管理中上传的文件应该在请求中处理,以便在内容更改时准备好。

我尝试了两种选择:

  • 使用 django-storages 的 sftp 后端。这给了我来自底层 paramiko 的错误。
  • 使用 NFS 挂载,权限问题让我很头疼。

那么推荐的方法是什么?或者其他人如何做到这一点? SFTP、SCP、SSHFS、NFS、CIFS、WebDav 等?

【问题讨论】:

  • 想详细说明我如何使用 rsync 完成我想要的?每分钟让一个 cronjob rsync 一个文件夹是不够的,因为这可能会在一分钟或更长时间内显示带有失败图像的管理员帖子(图像也必须在传输后调整大小)。

标签: python django


【解决方案1】:

您的文件上传是否与任何模型相关?如果是这样,请将存储介质设置为您的媒体服务器,并且当您使用上传的文件创建/保存具有 FileField 的 models.py 中定义的对象时,它将自动将其保存到指定的存储介质。以下是文档:https://docs.djangoproject.com/en/dev/topics/files/#the-built-in-filesystem-storage-class

【讨论】:

  • 是的,我知道。这就是我正在使用的。关键是传输方法(sftp)不能可靠地工作。所以我想知道人们在这种情况下使用什么。
猜你喜欢
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
  • 2018-11-15
  • 2011-01-17
  • 2016-11-17
  • 2021-06-23
  • 2021-10-03
相关资源
最近更新 更多