初始化2
This commit is contained in:
@@ -1,135 +1,4 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
echo ============================================
|
||||
echo 文件管理系统 - Windows 部署脚本
|
||||
echo ============================================
|
||||
echo.
|
||||
|
||||
:: 设置部署目录
|
||||
set DEPLOY_DIR=%~dp0deploy
|
||||
set SERVER_DIR=%DEPLOY_DIR%\server
|
||||
set FRONTEND_DIR=%DEPLOY_DIR%\frontend
|
||||
|
||||
:: 清理旧部署
|
||||
if exist "%DEPLOY_DIR%" (
|
||||
echo [1/6] 清理旧部署目录...
|
||||
rmdir /s /q "%DEPLOY_DIR%"
|
||||
)
|
||||
|
||||
:: 创建目录结构
|
||||
echo [2/6] 创建目录结构...
|
||||
mkdir "%SERVER_DIR%"
|
||||
mkdir "%SERVER_DIR%\data\storage"
|
||||
mkdir "%FRONTEND_DIR%"
|
||||
|
||||
:: 编译后端
|
||||
echo [3/6] 编译后端...
|
||||
cd /d "%~dp0"
|
||||
set GOPROXY=https://goproxy.cn,direct
|
||||
go build -o "%SERVER_DIR%\server.exe" main.go
|
||||
if errorlevel 1 (
|
||||
echo 编译失败!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: 复制后端文件
|
||||
echo [4/6] 复制后端文件...
|
||||
copy /y config.yaml "%SERVER_DIR%\" >nul
|
||||
copy /y config.yaml "%SERVER_DIR%\config.yaml.example" >nul
|
||||
xcopy /s /e /y sql "%SERVER_DIR%\sql\" >nul
|
||||
|
||||
:: 构建前端
|
||||
echo [5/6] 构建前端...
|
||||
cd /d "%~dp0..\web"
|
||||
call npm run build
|
||||
if errorlevel 1 (
|
||||
echo 前端构建失败!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
xcopy /s /e /y dist "%FRONTEND_DIR%\" >nul
|
||||
|
||||
:: 生成启动脚本
|
||||
echo [6/6] 生成启动脚本...
|
||||
|
||||
:: 后端启动脚本
|
||||
(
|
||||
echo @echo off
|
||||
echo chcp 65001 ^>nul
|
||||
echo echo ============================================
|
||||
echo echo 文件管理系统 - 后端服务
|
||||
echo echo ============================================
|
||||
echo echo.
|
||||
echo echo 启动中... 访问 http://localhost:8080/health 检查状态
|
||||
echo echo.
|
||||
echo server.exe
|
||||
echo pause
|
||||
) > "%DEPLOY_DIR%\启动后端.bat"
|
||||
|
||||
:: 数据库初始化脚本
|
||||
(
|
||||
echo @echo off
|
||||
echo chcp 65001 ^>nul
|
||||
echo echo ============================================
|
||||
echo echo 数据库初始化
|
||||
echo echo ============================================
|
||||
echo echo.
|
||||
echo set /p MYSQL_PWD=请输入MySQL root密码:
|
||||
echo echo.
|
||||
echo echo 正在创建数据库...
|
||||
echo mysql -u root -p%%MYSQL_PWD%% -e "CREATE DATABASE IF NOT EXISTS seeyon_fs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||
echo echo.
|
||||
echo echo 正在导入表结构...
|
||||
echo mysql -u root -p%%MYSQL_PWD%% seeyon_fs ^< sql\init.sql
|
||||
echo echo.
|
||||
echo echo 初始化完成!
|
||||
echo pause
|
||||
) > "%DEPLOY_DIR%\初始化数据库.bat"
|
||||
|
||||
:: 使用说明
|
||||
(
|
||||
echo ============================================
|
||||
echo 文件管理系统 - 部署说明
|
||||
echo ============================================
|
||||
echo.
|
||||
echo 【目录结构】
|
||||
echo deploy/
|
||||
echo ├── server/
|
||||
echo │ ├── server.exe 后端服务
|
||||
echo │ ├── config.yaml 配置文件(需修改)
|
||||
echo │ ├── config.yaml.example 配置示例
|
||||
echo │ ├── data/storage/ 文件存储目录
|
||||
echo │ └── sql/init.sql 数据库脚本
|
||||
echo ├── frontend/ 前端静态资源
|
||||
echo ├── 启动后端.bat 启动后端服务
|
||||
echo └── 初始化数据库.bat 首次部署执行
|
||||
echo.
|
||||
echo 【部署步骤】
|
||||
echo 1. 安装MySQL 8.0, 运行"初始化数据库.bat"
|
||||
echo 2. 修改server/config.yaml中的数据库密码等配置
|
||||
echo 3. 运行"启动后端.bat"
|
||||
echo 4. 配置Nginx(参考docs/nginx-production.conf)
|
||||
echo 5. 访问 http://你的域名
|
||||
echo.
|
||||
echo 【默认账号】admin / admin123
|
||||
echo.
|
||||
) > "%DEPLOY_DIR%\部署说明.txt"
|
||||
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 部署完成!
|
||||
echo ============================================
|
||||
echo.
|
||||
echo 部署目录: %DEPLOY_DIR%
|
||||
echo.
|
||||
echo 文件清单:
|
||||
dir /s /b "%DEPLOY_DIR%\*.exe" "%DEPLOY_DIR%\*.yaml" "%DEPLOY_DIR%\*.bat" "%DEPLOY_DIR%\*.txt" 2>nul
|
||||
echo.
|
||||
echo 下一步:
|
||||
echo 1. 将 %DEPLOY_DIR% 复制到目标服务器
|
||||
echo 2. 运行"初始化数据库.bat"
|
||||
echo 3. 修改 config.yaml 配置
|
||||
echo 4. 运行"启动后端.bat"
|
||||
echo.
|
||||
pause
|
||||
set CGO_ENABLED=0
|
||||
set GOOS=linux
|
||||
set GOARCH=amd64
|
||||
$env:CGO_ENABLED="0"; $env:GOOS="linux"; $env:GOARCH="amd64"; go build -ldflags "-s -w" -o myapp main.go
|
||||
Reference in New Issue
Block a user