如何将媒体文件提供或上传(从网站上传文件)到远程服务器。一种方法是使用Fabric的ssh。但是使用静态文件时,我可以将文件从一台主机传输到远程主机(如文档中所示)。但是,只要用户在网站上上传文件,就有可能将其直接发送到远程服务器
例如,而不是文件去
MEDIA_ROOT = '/usr/files/'
Run Code Online (Sandbox Code Playgroud)
在同一服务器上,它将转到远程服务器上的文件夹。
您是否尝试过以下解决方案:
https://github.com/aaugustin/django-resto
根据文档,它具有三种工作模式:
混合存储
使用此后端,django-resto将首先在MEDIA_ROOT上运行所有文件存储操作,然后将它们复制到介质服务器。
异步存储
通过此后端,django-resto将在MEDIA_ROOT上运行所有文件存储操作,并将其复制在后台启动到媒体服务器。请参阅异步操作。
分布式存储
使用此后端,django-resto将仅将文件存储在媒体服务器上。请参阅低并发情况。
正如文档建议的那样,侦听传入内容的服务器可以是nginx上的lighthttp实现:
这是lighttpd配置的示例:
server.modules + =(“ mod_webdav”,)$ HTTP [“ remoteip”]〜=“ ^ 192.168.0。[0-9] + $” {“ webdav.activate =”启用“}
这是nginx config的示例,假设服务器使用--with-http_dav_module进行了编译:
server {
listen 192.168.0.10;
location / {
root /var/www/media;
dav_methods PUT DELETE;
create_full_put_path on;
dav_access user:rw group:r all:r;
allow 192.168.0.1/24;
deny all;
}
}
Run Code Online (Sandbox Code Playgroud)
希望这能解决您的问题。
| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |