昕有灵犀 d2edeb69a2 配置
2018-07-09 16:46:22 +08:00
2018-07-09 16:10:15 +08:00
2018-07-05 17:04:28 +08:00
2018-07-09 16:10:15 +08:00
2018-07-03 10:12:23 +08:00
2018-07-09 16:10:15 +08:00
2018-07-03 17:15:07 +08:00
2018-07-09 16:10:15 +08:00
2018-07-03 10:12:23 +08:00
2018-07-03 10:12:23 +08:00
2018-06-29 09:35:43 +08:00
2018-07-09 16:46:22 +08:00
2018-07-03 10:12:23 +08:00

xyFS私有OSS文件存储服务

项目介绍

一站式企业私有文件服务。针对软件开发时提供的文件存储系统,对文件上传、下载、分类、分组、审计、统计等操作进行业务剥离,支持企业内多项目提供统一的oss私有文件服务。
涵盖了保护企业隐私文件的私有存储也可接入公有云存储方案。开发初衷是应用于xyTalk企业IM即时通讯的离线文件存储、群文件、图片、短语音、短视频、企业文档库等应用。
xyTalk地址https://gitee.com/475660/xyTalk-pc
xyFS不仅仅是独立可用的文件系统还通过接口灵活集成以下服务

  • 1.私有Xy.File OSS-FS文件服务 (自主开发,免费开源)
  • 2.私有分布式文件MongoDB GridFS分布式文件系统
  • 3.私有分布式文件FastDFS文件系统
  • 4.私有分布式文件SeaweedFS
  • 5.私有企业云存储Seafile网盘
  • 6.私有BASE64转存关系数据库存储停用
  • 7.公有云存储阿里OSS云存储
  • 8.公有云存储:七牛云
  • 9.公有云存储:腾讯文件云存储 CFS

项目详细文档

http://xyfs.mydoc.io/

软件组成

  • 1.xyFS 管理后端;
  • 2.xyPortal Web前端中的“文档库”部分
  • 3.xyFS HTTP API
  • 4.xyFS JAVA Client

采用技术

  • 1.Spring Boot、MVC、AOP、Actuator、Swagger
  • 2.Dbcp2、Druid数据库连接池2种模式可选
  • 3.JPA/Hibernate
  • 4.Ehcache
  • 5.HTML、Layer、Bootstrap
  • 6.Tomcat
  • 7.MySQL、Oracle、SQLite3种数据库模式可选
  • 8.Gradle
  • 9.Nginx

安装、使用教程

  • 1、Import Gradle Project
  • 2、点击工程右键Gradle>>Refresh Gradle Project
  • 3、选择Gradle Task栏点击“bootRun”
  • 4、如果出现以下信息说明运行时环境已经完成
    2018-07-09 16:06:56,790 INFO (TomcatWebServer.java:206)- Tomcat started on port(s): 9091 (http) with context path ''
    2018-07-09 16:06:56,794 INFO (StartupInfoLogger.java:59)- Started FileSystemApplication in 14.575 seconds (JVM running for 15.457)
    2018-07-09 16:07:18,809 INFO (DirectJDKLog.java:180)- Initializing Spring FrameworkServlet 'dispatcherServlet'
    这时就可以使用啦,访问:
    http://localhost:9091/
调试窗口:
		<p><img src="https://static.oschina.net/uploads/space/2018/0709/164132_owlC_160997.png"/></p>

2018-07-09 16:35:15,725 INFO (StartupInfoLogger.java:59)- Started FileSystemApplication in 14.116 seconds (JVM running for 15.16)
2018-07-09 16:35:30,184 INFO (DirectJDKLog.java:180)- Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-07-09 16:35:30,184 INFO (FrameworkServlet.java:494)- FrameworkServlet 'dispatcherServlet': initialization started
2018-07-09 16:35:30,221 INFO (FrameworkServlet.java:509)- FrameworkServlet 'dispatcherServlet': initialization completed in 37 ms
UsesCache.files:1000000
UsesCache.usedspace:1.0E9
qiniu upload:wangxin_muc2.png
UsesCache.files:1000001
UsesCache.usedspace:1.000073069E9
#########################
qiniu upload success,download url:http://pbby0yzdu.bkt.clouddn.com/wangxin_muc2.png
#########################
如要了解Gradle编译和运行更多事宜请访问Spring Boot官网文章Building Java Projects with Gradle 地址:https://spring.io/guides/gs/gradle/

开发配置

可以在配置文件application.properties里修改属性

例如 tomcat服务端口 server.port=9091

是否重新命名文件名如果是个人文件则重命名为username_ + 原文件名如果是群组文件则重命名为groupid_ + 原文件名
storage.rename = true

存储源.可多选.可以同时储存多个数据源,便于备份
类型有xyfs\Seafile\FastDFS\SeaweedFS\MongoDB\aliOSS\qiniu\CFS
storage.todisk = true
storage.toqiniu = true storage.tofastdfs = false storage.tomongodb = false storage.toseaweedfs = false storage.toalioss = false storage.tocfs = false

设置下载的源 ,单选
类型有xyfs\Seafile\FastDFS\SeaweedFS\MongoDB\aliOSS\qiniu\CFS
storage.downloadfrom = xyfs

全部配置:

# tomcat服务端口         #
server.port=9091
#启用shutdown
endpoints.sensitive=false

# 存储的相对路径,如果 storage.source = xyfs 需要配置        #
storage.location = uploadfiledir

# 是否重新命名文件名如果是个人文件则重命名为username_ + 原文件名如果是群组文件则重命名为groupid_ + 原文件名     #
storage.rename = true

# 存储源.可多选.可以同时储存多个数据源,便于备份      #
# 类型有xyfs\\Seafile\\FastDFS\\SeaweedFS\\MongoDB\\aliOSS\\qiniu\\CFS        #
storage.todisk = true  
storage.toqiniu = true
storage.tofastdfs = false
storage.tomongodb = false
storage.toseaweedfs = false
storage.toalioss = false
storage.tocfs = false

# 用于设置下载的源 ,单选   #
# 类型有xyfs\\Seafile\\FastDFS\\SeaweedFS\\MongoDB\\aliOSS\\qiniu\\CFS        #
storage.downloadfrom = xyfs

# xyfs存储配置     #
storage.diskprefix = http://localhost:9091/files/

# 七牛存储配置     #
storage.qiniuprefix = http://pbby0yzdu.bkt.clouddn.com/
storage.qiniuak = _IAafy8aX5x7h-4FBEvH2DqCtTq2c7sESPSlfG
storage.qiniusk = _8hy2LE6kfTKr3wDUWJONgFRxPKX4cDQhi79Bj
storage.qiniubucket = xytalk

# mongodb.gridfs配置     #
storage.gridfshost = 127.0.0.1
storage.gridfsdbname = xyfs
storage.gridfsport = 27017
storage.gridfscollectionname = fs

# fastDFS 配置     #
storage.fastdfsconnecttimeout = 5
storage.fastdfsnetwork_timeout = 10
storage.fastdfscharset = UTF-8
storage.fastdfstrackerhttpport = 80
storage.fastdfsantistealtoken = no
storage.fastdfssecret_key = 1234567890
storage.fastdfstrackerserver = 192.168.17.112:22122

# SeaweedFS 配置     #
storage.seaweedfshost = localhost
storage.seaweedfsport = 9333
storage.seaweedfstimeout = 10

# ali OSS 配置     #
storage.aliendpoint = ""
storage.aliaccesskeyid  = ""
storage.aliaccesskeysecret = ""
storage.alibucketname  = ""
storage.alidownloadkey  = ""

# 第一次使用的配置自动创建数据库表如果是运行SQL脚本则无需使用此配置         #
# spring.jpa.hibernate.ddl-auto = create
# 第二次开始使用的配置据库表会根据Entity的变动而更新         #
 spring.jpa.hibernate.ddl-auto = update 

# Sqlite数据源        #
spring.datasource.driver-class-name=org.sqlite.JDBC
spring.datasource.url=jdbc:sqlite:DbSqlite/xyfs.db
spring.datasource.platform=sqlite
spring.jpa.database-platform= xy.FileSystem.Dialect.SQLiteDialect

# mysql数据源         #
#spring.datasource.url=jdbc:mysql://localhost:3306/xyfs
#spring.datasource.username=root
#spring.datasource.password=mysql

# oracle数据源         #
#spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
#spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:torcl
#spring.datasource.username=center
#spring.datasource.password=centerDB12345

# dbcp2连接池配置       #
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource
spring.datasource.dbcp2.max-wait-millis=10000
spring.datasource.dbcp2.min-idle=5
spring.datasource.dbcp2.initial-size=5
spring.datasource.dbcp2.validation-query=SELECT 1 FROM app
spring.datasource.dbcp2.connection-properties=characterEncoding=utf8

# druid连接池的配置信息       #
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#spring.datasource.initialSize=5
#spring.datasource.minIdle=5
#spring.datasource.maxActive=20
#spring.datasource.maxWait=60000
#spring.datasource.timeBetweenEvictionRunsMillis=60000
#spring.datasource.minEvictableIdleTimeMillis=300000
#spring.datasource.validationQuery=SELECT 1 FROM App
#spring.datasource.testWhileIdle=true
#spring.datasource.testOnBorrow=false
#spring.datasource.testOnReturn=false
#spring.datasource.poolPreparedStatements=true
#spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
#spring.datasource.filters=stat,wall,log4j

# spring jackson 时间配置         #
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.joda-date-time-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

# multipart 上传配置            #
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=1024MB
spring.servlet.multipart.max-request-size=1024MB

# oss 日志配置       #
logging.config=classpath:logback.xml
Description
No description provided
Readme 2.5 MiB
Languages
CSS 90.6%
Java 7%
HTML 1.9%
JavaScript 0.4%
Fluent 0.1%