前言
想要構建一個Linux文件服務器?看看下面幾個要求是不是你想要的?
1、只需要單節點部署就夠了
2、部署啟動簡單,下載之后,一鍵啟動,一鍵關閉
3、不需要任何其他的依賴安裝,而且運行時占用內存資源少
4、上傳和下載文件速度快,支持的並發高
5、支持yml方式配置
如果以上是你所需要的,那么試試下面這個文件服務器是否滿足你。
Simple golang file server
https://github.com/LinkinStars/sgfs
這個文件服務器就滿足上述的幾個要求:
部署簡單,一鍵啟動,上傳下載都是通過http形式完成,任何語言都可以接入。而且由於文件服務器本身是使用golang編寫,所以沒有任何環境依賴,下載即用,而且運行時占用內存很少。並且由於使用內部fasthttp實現所以性能上面也相當不錯。

它支持修改端口,修改最大上傳文件限制等,有最基礎的token驗證鑒權。
所以如果你需要一個簡單的文件服務器來幫助你完成文件上傳和下載的功能,特別是只需要做一個圖片的文件服務器,那么它就很適合你,如果你需要的是追求極強的性能或者說追求分布式的存儲那么fastdfs或者nginx更加適合你哦。
使用
下載:https://github.com/LinkinStars/sgfs/releases
解壓后有幾個文件:
conf.yml是用來配置的,配置文件的上傳端口,還有文件的查看端口,以及文件的最大大小還有鑒權使用的token
使用命令./startup.sh就可以啟動文件服務器,默認占用9001和9002端口
文件的上傳和刪除操作使用9001端口,而文件的訪問使用9002端口,這兩個端口可以配置,但是不允許配置成相同的
上傳使用http方式上傳,上傳之后會返回對應的json信息表示上傳成功或失敗


訪問文件通過 http://127.0.0.1:9002/ 加上傳時返回的存儲位置即可。默認配置文件還支持根目錄索引,http://127.0.0.1:9002/ 可以直接看到所有文件情況。
上傳之后文件保存在當前應用目錄下的upload文件夾。
更多使用請參考github中的README.md
求意見
當前生產環境下使用過程中暫時沒有出現過問題,所以如果使用有任何問題麻煩提issues,如果喜歡請star,如果有任何改進意見都可以提,我們將不斷完善。
作者:LinkinStar
轉載請注明出處:https://www.cnblogs.com/linkstar/p/10429984.html