Free FS LogoFree FS

快速开始

学习如何快速部署和运行 Free FS。

本指南将帮助你在本地快速部署 Free FS 前后端项目。

环境要求

在开始之前,请确保你的系统已安装以下软件:

  • JDK 17+ - Java 开发环境
  • Maven 3.8+ - Java 构建工具
  • Node.js 18+ - 前端开发环境
  • MySQL 8.0+PostgreSQL 14+ - 数据库(二选一)
  • Redis - 缓存服务

详细的环境准备说明请参考:

一、拉取代码

后端项目

# 克隆后端项目
git clone https://gitee.com/dromara/free-fs.git

# 进入项目目录
cd free-fs

前端项目

# 克隆前端项目
git clone https://gitee.com/dromara/free-fs-vue.git

# 进入项目目录
cd free-fs-vue

二、编译打包

后端打包

# 进入后端项目目录
cd free-fs

# 编译项目
mvn clean install -DskipTests

# 打包可执行 JAR
cd fs-admin
mvn clean package -DskipTests

打包完成后,在 fs-admin/target 目录下会生成 fs-admin.jar 文件。

详细打包说明请参考:服务端打包

前端打包

# 进入前端项目目录
cd free-fs-vue

# 安装依赖
pnpm install

# 打包生产环境
pnpm build

打包完成后,在项目根目录下会生成 dist 文件夹。

详细打包说明请参考:前端打包

三、部署

后端部署

1. 初始化数据库

# 创建数据库
mysql -u root -p -e "CREATE DATABASE \`free-fs\` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';"

# 导入表结构
mysql -u root -p free-fs < free-fs/_sql/mysql/free-fs.sql
# 创建数据库
psql -U postgres -c "CREATE DATABASE \"free-fs\" ENCODING 'UTF8' LC_COLLATE='zh_CN.UTF-8' LC_CTYPE='zh_CN.UTF-8';"

# 导入表结构
psql -U postgres -d free-fs -f free-fs/_sql/postgresql/free-fs_pg.sql

2. 配置应用

编辑 fs-admin/src/main/resources/application.yml,配置数据库和 Redis 连接信息:

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: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver
  data:
    redis:
      host: localhost
      port: 6379
      password: your_password

fs:
  storage:
    local:
      base-path: D:/fs/upload
      base-url: http://localhost:8080/files
spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:postgresql://127.0.0.1:5432/free-fs?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
    username: postgres
    password: your_password
    driver-class-name: org.postgresql.Driver
  data:
    redis:
      host: localhost
      port: 6379
      password: your_password

fs:
  storage:
    local:
      base-path: D:/fs/upload
      base-url: http://localhost:8080/files

3. 运行服务

# 方式一:直接运行 JAR
cd fs-admin/target
java -jar fs-admin.jar

# 方式二:使用 Maven 运行
cd fs-admin
mvn spring-boot:run

服务启动后,访问:

  • 服务地址http://localhost:8080
  • API 文档http://localhost:8080/swagger-ui.html

详细部署说明请参考:服务端部署

前端部署

1. 配置环境变量

在项目根目录创建 .env.production 文件:

# 生产环境接口前缀
VITE_API_BASE_URL='http://localhost:8080'
# 预览服务地址前缀
VITE_API_VIEW_URL='http://localhost:8080'

2. 使用 Nginx 部署

将打包生成的 dist 目录上传到服务器,配置 Nginx:

server {
    listen 80;
    server_name your-domain.com;

    # 前端静态资源
    location / {
        root /path/to/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # 后端 API 代理
    location /apis/ {
        proxy_pass http://localhost:8080/apis/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

详细部署说明请参考:前端部署

访问系统

部署完成后,访问前端地址即可使用系统:

  • 前端地址http://your-domain.comhttp://localhost:5173(开发环境)
  • 默认账号:admin admin

下一步

目录