前言

想要构建一个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. hashmap,hashTable concurrentHashMap 是否为线程安全,区别,如何实现的

    线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...

  2. Flask入门之Jinjia模板的一些语法

    1. 变量表示 {{ argv }} 2. 赋值操作 {% set links = [ ('home',url_for('.home')), ('service',url_for('.service' ...

  3. 1、学习笔记之——html

    这篇学习笔记是在看一些教学视频学习时所记,可能比较乱,就当是自己以后复习的资料好了. <!doctype html> <html> <head> <meta ...

  4. IT连创业系列:近期功能调整(小魔术功能从二级目录调整到一级栏目)

    最近花了点时间,折腾了一下.NET Core,因此有几篇 Taurus.MVC + CYQ.Data 的文章出来. 这两天也顺带把 ASP.NET Aries 升级了一下功能, 也计划支持.NET C ...

  5. MySql中innodb存储引擎事务日志详解

    分析下MySql中innodb存储引擎是如何通过日志来实现事务的? Mysql会最大程度的使用缓存机制来提高数据库的访问效率,但是万一数据库发生断电,因为缓存的数据没有写入磁盘,导致缓存在内存中的数据 ...

  6. Go 自带的 http/server.go 的连接解析 与 如何结合 master-worker 并发模式,提高单机并发能力

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  7. 使用Spring Session实现Spring Boot水平扩展

    小编说:本文使用Spring Session实现了Spring Boot水平扩展,每个Spring Boot应用与其他水平扩展的Spring Boot一样,都能处理用户请求.如果宕机,Nginx会将请 ...

  8. 关于maven的配置使用 这一篇还比较全 2017.12.13

    https://www.cnblogs.com/tangshengwei/p/6341462.html

  9. java之集合Collection 详解之4

    package cn.itcast_04; public class Student { private String name; private int age; public Student() ...

  10. Python 字符串大小写转换

    以下代码演示了如何将字符串转换为大写字母,或者将字符串转为小写字母等: # Filename : test.py # author by : www.runoob.com str = "ww ...