Free Fs部署流程
# Free Fs 部署流程
官网:https://free-fs.top 前端:https://gitee.com/xddcode/free-fs-frontend 后端:https://gitee.com/dromara/free-fs
Free FS 是一个基于 Spring Boot 4.x 的企业级文件管理网盘系统,专注于提供高性能、高可靠的文件存储和管理服务。
# 环境准备
在开始运行 Free FS 服务端之前,请确保你的系统已安装以下软件:
- JDK 21+ (推荐使用 OpenJDK 或 Oracle JDK,2.1.1 及以下版本支持 JDK 17)
- Maven 3.8+ (用于依赖管理和构建)
- MySQL 8.0+ 或 PostgreSQL 14+ (核心关系型数据库,二选一)
- Redis (用于缓存、Session 和分片上传状态存储)
- LibreOffice (可选,用于 Office 文档预览功能)
# LibreOffice安装
LibreOffice 安装与配置
LibreOffice 是用于 Office 文档(Word、Excel、PowerPoint)转 PDF 预览的必需组件。如果你需要使用 Office 文档预览功能。
Windows 环境(开箱即用)
项目根目录已包含 LibreOfficePortable 便携版(位于 项目根目录/LibreOfficePortable)
无需安装 LibreOffice,系统会自动使用内置版本
如需使用自定义路径,可通过配置项覆盖
Window系统 无需安装LibreOffice,系统会使用项目根目录下的LibreOfficePortable,也无需配置
Linux系统 如果是安装在默认路径下也无需配置,只需要安装就行,记得安装中文字体
在 application.yml 中配置 LibreOffice 的安装路径:
fs:
preview:
office:
# 是否启用 Office 转换
enabled: true
# LibreOffice 安装路径
# Windows 环境通常不需要配置(使用内置版本)
# Linux/Mac 环境如果安装在默认路径也不需要配置
#
# 仅在以下情况需要配置:
# 1. Windows 环境想使用本地安装的 LibreOffice
# 2. Linux/Mac 环境 LibreOffice 安装在非默认路径
# Windows: C:/Program Files/LibreOffice
# Linux: /usr/lib/libreoffice
# Mac: /Applications/LibreOffice.app/Contents
office-home: /opt/libreoffice
# 进程池大小(建议根据服务器性能调整)
pool-size: 2
# 任务执行超时(毫秒)
task-execution-timeout: 120000
# 任务队列超时(毫秒)
task-queue-timeout: 30000
# 最大任务数
max-tasks-per-process: 200
# 转换缓存目录
cache-path: /tmp/office-convert
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Window 本地运行流程
# 后端
- 拉取代码
git pull https://gitee.com/dromara/free-fs.git
Maven配置
JDK配置 JDK版本为21
数据库配置
Free FS 使用 MyBatis Flex 作为 ORM 框架,支持 MySQL 8.0+ 和 PostgreSQL 14+。
创建数据库 free-fs
导入项目根目录下对应的 SQL 文件到刚创建的数据库中:
- MySQL: _sql/mysql/free-fs.sql
- PostgreSQL: _sql/postgresql/free-fs_pg.sql
- 修改连接信息
在 fs-admin 模块的 src/main/resources/application-dev.yml 中修改连接信息:
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://127.0.0.1:3306/free-fs?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
2
3
4
5
6
7
- Redis 配置
在 application-dev.yml 中配置 Redis 连接:
spring:
data:
redis:
host: localhost
port: 6379
password: your_password
2
3
4
5
6
7
- 存储配置
Free FS 采用插件化存储架构。您可以在管理后台动态切换,但是默认的本地存储是需要配置的。
fs:
storage:
local:
# 本地文件保存地址(物理路径)
base-path: D:/fs/upload
# 本地文件映射访问路径(访问 URL)
base-url: http://localhost:8080/files
2
3
4
5
6
7
# 前端
在开始运行 Free FS 前端之前,请确保你的系统已安装以下软件:
- Node.js 20.0.0 或更高版本(项目要求 >=20.0.0)
安装依赖
npm install
.env.development - 开发环境配置:
VITE_API_BASE_URL=http://localhost:8080
# Linux 部署流程
# LibreOffice安装
sudo apt-get update
sudo apt-get install libreoffice
#安装中文包
sudo apt install -y fonts-noto-cjk fonts-wqy-microhei fonts-wqy-zenhei
2
3
4
重启 项目应用
# 后端
后端正常打包部署就行
# 前端
- .env.production - 生产环境配置:
# 前端请求后端的地址
VITE_API_BASE_URL=http://ip地址:81
# 文件预览是直接访问的后端服务
VITE_API_VIEW_URL=http://IP地址:8080
2
3
4
- nginx配置
# 后端 API 代理(路径前缀 /apis)
location /apis/ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_pass_request_headers on;
proxy_set_header Connection "";
}
# 文件预览服务代理
location /preview/ {
proxy_pass http://localhost:8080/preview/;
proxy_set_header Host $host;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15