gpt4 book ai didi

django - 在远程服务器中提供媒体文件,在 django 中的另一台服务器中提供应用程序

转载 作者:行者123 更新时间:2023-12-05 00:25:45 28 4
gpt4 key购买 nike

我如何提供或上传(从网站上传文件)媒体文件到远程服务器。一种方法是使用fabric ssh。但是使用它我可以将文件从一台主机传输到远程主机,以防出现静态文件(如文档中所示)。但是有没有可能,每当用户在网站上传文件时,它会直接转到远程服务器

例如而不是文件去

MEDIA_ROOT = '/usr/files/'

在同一台服务器上,它将转到位于远程服务器中的文件夹。

最佳答案

你有没有试过这个解决方案:

https://github.com/aaugustin/django-resto

根据文档,它具有三种工作模式:

HybridStorage

With this backend, django-resto will run all file storage operations on MEDIA_ROOT first, then replicate them to the media servers.

AsyncStorage

With this backend, django-resto will run all file storage operations on MEDIA_ROOT and lanch their replication to the media servers in the background. See Asynchronous operation.

DistributedStorage

With this backend, django-resto will only store the files on the media servers. See Low concurrency situations.



监听传入内容的服务器可以是 nginx 上的 lighthttp 实现,正如文档所推荐的:

Here is an example of lighttpd config:

server.modules += ( "mod_webdav", ) $HTTP["remoteip"] ~= "^192.168.0.[0-9]+$" { "webdav.activate = "enable" }

Here is an example of nginx config, assuming the server was compiled --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;
}
}

希望这能解决您的问题。

关于django - 在远程服务器中提供媒体文件,在 django 中的另一台服务器中提供应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849357/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com