前言
想要构建一个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端口
上传使用http方式上传,上传之后会返回对应的json信息表示上传成功或失败


访问文件通过 http://127.0.0.1:9002/ 加上传时返回的存储位置即可。默认配置文件还支持根目录索引,http://127.0.0.1:9002/ 可以直接看到所有文件情况。
上传之后文件保存在当前应用目录下的upload文件夹。
更多使用请参考github中的README.md
求意见
当前生产环境下使用过程中暂时没有出现过问题,所以如果使用有任何问题麻烦提issues,如果喜欢请star,如果有任何改进意见都可以提,我们将不断完善。