4

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

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

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

我尝试了两种选择:

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

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

4

1 回答 1

1

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

于 2012-05-11T18:26:52.620 回答