无敌简单快速的文件服务器sgfs
前言
想要构建一个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
无敌简单快速的文件服务器sgfs的更多相关文章
- 使用Node.js快速搭建简单的静态文件服务器
做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...
- CocoaPods 的简单快速安装方法
CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...
- 【转】让你10分钟搞定Mac--最简单快速的虚拟安装
文章出处:让你10分钟搞定Mac--最简单快速的虚拟安装http://bbs.itheima.com/thread-106643-1-1.html (出处: 黑马程序员训练营论坛) 首先说明一下. 第 ...
- PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件
PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件 简介: 在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用, ...
- HDU 6463.超级无敌简单题-卡边界的暴力 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)
超级无敌简单题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- 一种简单快速的模板解析方法,活用with javascript版
//一种简单快速的模板解析方法,活用with var parseTpl = function( str, data ) { var tmpl = 'var __p=[];' + 'with(obj|| ...
- Mario是一个基于.NETCore的简单快速开发框架
Mario .NET Core简单快速开发框架 Mario是一个基于.NET Core的简单快速开发框架 GitHub:https://github.com/deeround/Mario 技术特点 基 ...
- 简单快速搭建钓鱼wifi
前言 钓鱼wifi是很久的话题了,但是传统的方法可能比较麻烦需要手动配置dhcp,dns,网卡,流量转发,比较麻烦,而且还有根据每次的网络环境需要重新的配置,这里介绍用WIFIpumpkin3工具简单 ...
- 简单快速安装Apache+PHP+MySql服务环境(四)—— 将php版本升级到7.2
书接上文,简单快速安装Apache+PHP+MySql服务环境(二)-- centos使用yum安装指定版本的php. 随着各种PHP框架的升级,对PHP的版本也有了更高的要求,所以笔者也尝试着更新升 ...
随机推荐
- prometheus alert rules文件格式化
1.下载go(version>1.9,否则promtool工具不好使) https://golang.org/doc/install?download=go1.10.2.linux-amd64. ...
- 类设计:设计卖车的4S店
class Car(object): # 定义车的方法 def move(self): print('---车在移动---') def stop(self): print('---停车---') # ...
- Hive中Join的原理和机制
转自:http://lxw1234.com/archives/2015/06/313.htm 笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Joi ...
- Django rest framework源码分析(3)----节流
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- jmeter如何录制App及Web应用
1.添加一个线程组(Test Plan上右键,添加_Threads_线程组) 2.添加一个HTTP代理服务器(Test Plan上右键,添加_非测试元件_HTTP代理服务器) 3.在HTTP代理服务器 ...
- Android Zxing 转换竖屏扫描且提高识别率
最近的一个Android需要用到扫码功能,用的是Zxing开源库.Zxing的集成就不说了,但是Zxing默认的是横屏扫码,在实际生产中并不适用,需要改为竖屏扫描. 转竖屏步骤: 1>. And ...
- CentOS6.5系统挂载NTFS分区的硬盘
下载rpmforge,下载对应的版本,就是对应CentOS版本,还有32位与64位也要对应上.rpmforge拥有4000多种CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓 ...
- 双层嵌套json字符串(即json对象内嵌json数组)解析为Map
之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题. 之前的那 ...
- 数据分析工具Pandas
参考学习资料:http://pandas.pydata.org 1.什么是Pandas? Pandas的名称来自于面板数据(panel data)和Python数据分析(data analys ...
- 判断系统是64位还是32位的bat方法
if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86 if "%PROCESSOR_ARCHITECTURE%& ...