1
我有一個多服務器設置。描繪一個客戶端,一個運行rails的web服務器和一個存儲數據的實例。我需要一種方法通過Web服務器從客戶端訪問數據存儲文件。通過scp的服務器文件
目前我正在使用scp將文件下載到臨時目錄中的Web服務器,然後將客戶端重定向到tmp url。
我更希望能夠通過網絡服務器流式傳輸文件而不用存儲它們。
有關如何做到這一點的任何建議?
我有一個多服務器設置。描繪一個客戶端,一個運行rails的web服務器和一個存儲數據的實例。我需要一種方法通過Web服務器從客戶端訪問數據存儲文件。通過scp的服務器文件
目前我正在使用scp將文件下載到臨時目錄中的Web服務器,然後將客戶端重定向到tmp url。
我更希望能夠通過網絡服務器流式傳輸文件而不用存儲它們。
有關如何做到這一點的任何建議?
一種替代的方法是使用SSHFS和掛載遠程服務器(只讀)
sshfs -o ro server:/path/to/files path/on/webserver/to/mount
http://www.howtogeek.com/howto/ubuntu/how-to-mount-a-remote-folder-using-ssh-on-ubuntu/
在通過你的問題流方面:
你可以這樣做像這樣:
data = `ssh server 'cat path/to/file/on/server'`
send_data(data)
http://apidock.com/rails/ActionController/Streaming/send_data
這裏的技巧是使用,而不是SCP SSH,從你的shell
ssh server 'cat path/to/file' > local_file
這使您可以將文件發送到標準輸出本地嘗試一下(它不能做通過scp。)
這允許您流式傳輸文件,但我不建議這樣做。