如何提供或上傳(從網站上傳文件)媒體文件到遠程服務器。一種方法是使用fabric的ssh。但使用它我可以將文件從一臺主機傳輸到遠程主機,以防靜態文件(如文檔中所示)。但有可能的是,無論何時用戶上傳網站中的文件,它都可以直接發送到遠程服務器,例如遠程服務器。而不是文件去在django的另一臺服務器上提供遠程服務器和應用程序中的媒體文件
MEDIA_ROOT = '/usr/files/'
在同一臺服務器上,它將去到位於遠程服務器的文件夾。
如何提供或上傳(從網站上傳文件)媒體文件到遠程服務器。一種方法是使用fabric的ssh。但使用它我可以將文件從一臺主機傳輸到遠程主機,以防靜態文件(如文檔中所示)。但有可能的是,無論何時用戶上傳網站中的文件,它都可以直接發送到遠程服務器,例如遠程服務器。而不是文件去在django的另一臺服務器上提供遠程服務器和應用程序中的媒體文件
MEDIA_ROOT = '/usr/files/'
在同一臺服務器上,它將去到位於遠程服務器的文件夾。
你試過這個解決方案:
https://github.com/aaugustin/django-resto
它的工作根據文檔的三種模式:
HybridStorage
這個後端,Django的Resto餐廳將首先在MEDIA_ROOT上運行所有文件存儲操作 ,然後複製它們到媒體服務器。
AsyncStorage
這個後端,Django的Resto餐廳將運行在所有MEDIA_ROOT文件存儲操作 和lanch其複製到介質服務器的 背景。請參閱異步操作。
DistributedStorage
這個後端,Django的Resto餐廳將只存儲文件的媒體 服務器上。請參閱低併發情況。
這監聽傳入內容的服務器可以在一個nginx的實施lighthttp,作爲文檔建議:
這裏是配置的lighttpd的一個例子:
server.modules + = (「mod_webdav」,) $ HTTP [「remoteip」]〜=「^ 192.168.0。[0-9] + $」{「webdav.activate =」enable「}
這是一個nginx配置,假設服務器編譯爲 ED --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;
}
}
希望這能解決您的問題。