2014-05-24 80 views
3

如何提供或上傳(從網站上傳文件)媒體文件到遠程服務器。一種方法是使用fabric的ssh。但使用它我可以將文件從一臺主機傳輸到遠程主機,以防靜態文件(如文檔中所示)。但有可能的是,無論何時用戶上傳網站中的文件,它都可以直接發送到遠程服務器,例如遠程服務器。而不是文件去在django的另一臺服務器上提供遠程服務器和應用程序中的媒體文件

MEDIA_ROOT = '/usr/files/' 

在同一臺服務器上,它將去到位於遠程服務器的文件夾。

回答

4

你試過這個解決方案:

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; 
    } 
    } 

希望這能解決您的問題。

相關問題