无敌简单快速的文件服务器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

 

转载于:https://www.cnblogs.com/linkstar/p/10429984.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot多数据源配置

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置非常…

pyhon量化数据处理小细节3---日期格式转换

不同的数据文档,会获得不同日期格式,常见的有str(20200101),datetime(20200101),又或者是2020-01-01,,2020-1-1,20-1-1,20-Apr_20th,2020/01/01,20/01/01等等,总之类型很多。因此需要我们对日期格式进行统一化。这里我…

面向对象和基于对象

面向对象大家都很熟悉,可是基于对象就不一定了。两个听起来好象是同一回事,而事实上它们却千差万别。基于对象是指:我们采用对象封装技术,将数据和操作捆绑在一起,但是并没有合理地使用多态、继承等面向对象技术进行软…

CSS margin 属性简介

CSS margin 属性 设置外边距的最简单的方法就是使用 margin 属性。 margin 属性接受任何长度单位,可以是像素、英寸、毫米或 em。 margin 可以设置为 auto。更常见的做法是为外边距设置长度值。下面的声明在 h1 元素的各个边上设置了 1/4 英寸宽的空白:h…

MVC中使用代码创建数据库(code first +mysql+EF)

1.新建一个mvc项目 2.安装mysql需要的几个文件 EntityFramework、MySql.Data(6.9.12)和MySql.Data.Entity (6.9.12) 这里有几点要注意 1.MySql.Data和MySql.Data.Entity 版本必须一致 2.我试用了6.10的版本 要报错 3.我测试没有问…

github 学习使用

博主第一次使用github,所以会将过程全成描述欢迎使用Github注册安装进入仓库,创建、修改、上传文件。强制推送强制覆盖上传文件欢迎使用Github 注册 直接进入github官网:https://github.com 点击sigh up 进行注册 直接填写即可然后验证通过…

Java中9大内置基本数据类型Class实例和数组的Class实例

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1、Java中9大内置几本数据类型: 对于对象来说,可以直接使用对象.getClass()或者Class.forName(className);、类名.class都可以…

软件质量管理之困境与对策思考

相信在不少与软件开发相关的企业内,质量管理部门与软件开发部门在日常运作中形成了如下图所示的“哑铃形”组织结构。 开发部门执行质量管理部门所制定的流程,通过提供证据的形式将各种流程执行后的数据反馈给质量管理部门(包括缺陷率和各种流…

GDI+用PNG图片做半透明异型窗口

{*******************************************************}{ }{ GDI用PNG图片做半透明异型窗口 }{ }{ 版权所有 (C) 2008 QQ:…

java Spring Boot中使用Swagger2构建API文档

1、添加Swagger2的依赖 在pom.xml中加入Swagger2的依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.2.2</version> </dependency> <dependency><groupId&g…

什么是 FreeMarker

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 转自官方文档&#xff0c;只是记录下官方在线手册地址&#xff1a;http://freemarker.foofun.cn/ FreeMarker 是一款 模板引擎&#xff…

TP函数

U方法用于完成对URL地址的组装&#xff0c;特点在于可以自动根据当前的URL模式和设置生成对应的URL地址&#xff0c;格式为&#xff1a;U(地址,参数,伪静态,是否跳转,显示域名);在模板中使用U方法而不是固定写死URL地址的好处在于&#xff0c;一旦你的环境变化或者参数设置改变…

爬虫——————爬取中金所,深交所,上交所期权数据

先从深交所开始&#xff1a;直接上传源码&#xff1a; from bs4 import BeautifulSoup from lxml import etree import pandas as pd import akshare as ak import datetime import requests import csv from contextlib import closing import time from urllib.request impo…

linux下的C语言开发

linux下的C语言开发&#xff08;开篇&#xff09; 在很多人的眼里&#xff0c;C语言和linux常常是分不开的。这其中的原因很多&#xff0c;其中最重要的一部分我认为是linux本身就是C语言的杰出作品。当然&#xff0c;linux操作系统本身对C语言的支持也是相当到位的。作为一个…

sql语法学习

本人数据库目前使用的是sql&#xff0c;主要是使用python语言&#xff0c;然后用pandas调用&#xff08;真的很方便&#xff09;。所以就总结一下&#xff0c;也为自己以后调用数据查找方便使用。 导入包 from sqlalchemy import create_engine import pymssql连接数据库 con…

C 温故知新 之 指针:数组指针、字符串指针、函数指针

一、数组指针 1.指向数组元素的指针 1、定义&#xff1a;还是那句话通俗的说指针就是地址   数组指针 &#xff1a;数组的起始地址 数组元素指针&#xff1a;数组元素的地址 2、定义一个指向数组元素的指针变量的方法&#xff0c;与之前介绍的指针变量相同。 例如&#…

mysql 查找配置文件 my.ini 位置方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 个人备注&#xff1a;不显示文件类型时&#xff0c;my.ini 文件名就叫作 my&#xff0c; 文件属性才显示 ini。 找到 my 文件看属性就知…

嵌入式操作系统内核原理和开发

嵌入式操作系统内核原理和开发&#xff08;开篇&#xff09; 操作系统是很多人每天必须打交道的东西&#xff0c;因为在你打开电脑的一刹那&#xff0c;随着bios自检结束&#xff0c;你的windows系统已经开始运行了。如果问大家操作系统是什么&#xff1f;可能有的人会说操作…

Java中对象比较

在Java之中不仅仅存在两个数字与两个字符串之间的比较&#xff0c;还存在两个对象之间的比较。 众所周知&#xff0c;两个数字之间的比较我们使用“”&#xff0c;两个字符串之间的比较我们使用“equals()”&#xff0c;那么两个对象之间如何进行比较呢&#xff1f;既然要进行两…

如何安装pfbprophet

最近facebook出来了一个软件包&#xff0c;可以用于时序数据预测&#xff0c;但是安装上&#xff0c;遇到问题不小&#xff0c;本人也在安装中遇到大大小小各种问题&#xff0c;然后查了各种资料&#xff0c;进行研究&#xff0c;终于找到一个最简单的办法。 不废话&#xff0…