diff --git a/deploy/README.md b/deploy/README.md index cc148ee..ccd2c4e 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -1,44 +1,85 @@ -# 部署说明 +# AI 发布平台 - 部署说明 ## 快速打包 ```powershell -powershell -File deploy/package.ps1 +# 方式一:双击运行 +deploy\build.bat + +# 方式二:PowerShell +powershell -File deploy\package.ps1 ``` -生成 `deploy/publish_deploy.zip`,解压到 `/usr/local/publish_dishboard/` 自动对齐目录。 +输出:`deploy/publish_deploy.zip` -## 目录结构 +## 服务器目录结构 + +解压 `publish_deploy.zip` 到 `/usr/local/publish_dishboard/`,得到: -解压后: ``` /usr/local/publish_dishboard/ frontend/ index.html ← 前端入口 - server.js ← Node.js 静态文件服务 - assets/ ← JS/CSS 等静态资源 - app.jar ← 后端 Spring Boot JAR + server.js ← Node.js 静态服务(端口 30080) + assets/ ← JS / CSS 静态资源 + app.jar ← Spring Boot 后端(端口 30081) + database.db ← SQLite 数据库 ``` -## 服务端口 +## 宝塔面板部署步骤 -| 服务 | 端口 | 说明 | -|--------|-------|------------------------| -| 前端 | 30080 | Node.js (`server.js`) | -| 后端 | 30081 | Java (`app.jar`) | +### 1. 后端(Java) -## Nginx 路由配置 +- **项目名称**:`publish_backend` +- **项目端口**:30081 +- **启动文件**:`/usr/local/publish_dishboard/app.jar` +- **运行目录**:`/usr/local/publish_dishboard/` +- **启动命令**:`java -jar app.jar` -``` -location /publish_dishboard/ { +### 2. 前端(Node.js) + +- **项目名称**:`publish_dishboard` +- **项目端口**:30080 +- **启动文件**:`/usr/local/publish_dishboard/frontend/server.js` +- **运行目录**:`/usr/local/publish_dishboard/frontend/` +- **环境变量**: + - `STATIC_DIR=/usr/local/publish_dishboard/frontend` + - `UPLOADS_DIR=/usr/local/publish_dishboard/frontend/uploads` + +### 3. Nginx 反向代理 + +```nginx +# 前端 +location /publish_dishboard { proxy_pass http://127.0.0.1:30080/; } -location /publish_server/ { +# 后端 API +location /publish_server { proxy_pass http://127.0.0.1:30081/; } ``` -## 前端资源路径 +## 域名访问 -前端构建使用 `router basename = /publish_dishboard`,Nginx 需确保 `/assets/` 路径可访问。 +- 前端:`https://www.1415243231.top/publish_dishboard` +- 后端:`https://www.1415243231.top/publish_server` + +## 数据库权限 + +如果遇到 `Permission denied` on `database.db`: + +```bash +chown -R www:www /usr/local/publish_dishboard +chmod -R 755 /usr/local/publish_dishboard +``` + +然后重启 Java 项目。 + +## 完整部署流程 + +1. 本地运行 `deploy\build.bat`,生成 `deploy\publish_deploy.zip` +2. 上传 zip 到 NAS:`/usr/local/publish_dishboard/` +3. 解压覆盖 +4. 重启前后端两个项目(宝塔面板操作) +5. 访问 `https://www.1415243231.top/publish_dishboard`