前言

想要构建一个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的更多相关文章

  1. 使用Node.js快速搭建简单的静态文件服务器

    做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...

  2. CocoaPods 的简单快速安装方法

    CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...

  3. 【转】让你10分钟搞定Mac--最简单快速的虚拟安装

    文章出处:让你10分钟搞定Mac--最简单快速的虚拟安装http://bbs.itheima.com/thread-106643-1-1.html (出处: 黑马程序员训练营论坛) 首先说明一下. 第 ...

  4. PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件

    PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件 简介: 在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用, ...

  5. HDU 6463.超级无敌简单题-卡边界的暴力 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    超级无敌简单题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  6. 一种简单快速的模板解析方法,活用with javascript版

    //一种简单快速的模板解析方法,活用with var parseTpl = function( str, data ) { var tmpl = 'var __p=[];' + 'with(obj|| ...

  7. Mario是一个基于.NETCore的简单快速开发框架

    Mario .NET Core简单快速开发框架 Mario是一个基于.NET Core的简单快速开发框架 GitHub:https://github.com/deeround/Mario 技术特点 基 ...

  8. 简单快速搭建钓鱼wifi

    前言 钓鱼wifi是很久的话题了,但是传统的方法可能比较麻烦需要手动配置dhcp,dns,网卡,流量转发,比较麻烦,而且还有根据每次的网络环境需要重新的配置,这里介绍用WIFIpumpkin3工具简单 ...

  9. 简单快速安装Apache+PHP+MySql服务环境(四)—— 将php版本升级到7.2

    书接上文,简单快速安装Apache+PHP+MySql服务环境(二)-- centos使用yum安装指定版本的php. 随着各种PHP框架的升级,对PHP的版本也有了更高的要求,所以笔者也尝试着更新升 ...

随机推荐

  1. 部署SSIS包完成远程数据更新

    ** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.com/grom/p/9018978.html 笔者需要定期从服务器更新N家客户的远程服务器数据,上 ...

  2. Maven打包详细流程

    方法一:cmd 控制台打包(比较不推荐) 首先安装maven插件百度下载一个,配置环境变量什么的~在cmd控制台能mvn version能有数据出现. 打包只需要到项目的根目录下~在cmd敲入mvn ...

  3. Java枚举enum以及应用:枚举实现单例模式

    枚举作为一个常规的语言概念,一直到Java5才诞生不得不说有点奇怪,以至于到现在为止很多程序员仍然更喜欢用static final的形式去命名常量而不使用,一般情况下,Java程序员用这种方式去实现枚 ...

  4. 3d轮播图——类似酷狗的轮播

    说到轮播图,其实只要是跟web开发相关的无论是前端后端应该都不陌生,各种各样的轮播图,从以前的单纯的平面山水画遮盖滑动或滚动,到Jquery的animate甚至是h5+css3,各种炫酷的轮播图更是层 ...

  5. Avio红外热像仪在汽车行业的应用

    红外热像仪利用红外探测器接受被测目标的红外辐射能量,将红外辐射能量转换成带有温度信息的图像信号,并通过显视屏等显示工具显示红外热图像.这种红外热图像与物体表面的温度分布相对应.红外热像仪能够将探测到的 ...

  6. 我的Python之旅第二天

    一 .字符串操作 1单引号('').双引号("").三引号(""" """)的区别. 如果字符串中不包含单引号.双引号, ...

  7. 通过数据流处理-微信小程序生成临时二维码

    1.小程序代码 onLoad: function (options) { var that = this api.Login(function (login) { var codeModel = ne ...

  8. java并发之CyclicBarrier

    一.CyclicBarrier简述 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互 ...

  9. linux下安装nginx与配置

    linux系统为Centos 64位 第一步:从http://nginx.org/download/上下载相应的版本(或者wget http://nginx.org/download/nginx-1. ...

  10. mpvue-编写微信小程序总结

    一.写在前面: .....最近在写一个微信小程序项目,在看完官方微信小程序开发文档后,有一种直接想"放弃"的念头: .....使用微信小程序原生框架可以快速,方便,简洁的搭建项目, ...