101 lines
2.5 KiB
Markdown
101 lines
2.5 KiB
Markdown
# AI 发布平台 - 部署说明
|
||
|
||
## 快速打包
|
||
|
||
```powershell
|
||
# 方式一:双击运行
|
||
deploy\build.bat
|
||
|
||
# 方式二:PowerShell
|
||
powershell -File deploy\package.ps1
|
||
```
|
||
|
||
输出:`deploy/publish_deploy.zip`
|
||
|
||
## 服务器目录结构
|
||
|
||
解压 `publish_deploy.zip` 到 `/usr/local/publish_dishboard/`,得到:
|
||
|
||
```
|
||
/usr/local/publish_dishboard/
|
||
frontend/
|
||
index.html ← 前端入口
|
||
server.js ← Node.js 静态服务(端口 30080)
|
||
assets/ ← JS / CSS 静态资源
|
||
app.jar ← Spring Boot 后端(端口 30081)
|
||
database.db ← SQLite 数据库
|
||
```
|
||
|
||
## 宝塔面板部署步骤
|
||
|
||
### 1. 后端(Java)
|
||
|
||
- **项目名称**:`publish_backend`
|
||
- **项目端口**:30081
|
||
- **启动文件**:`/usr/local/publish_dishboard/app.jar`
|
||
- **运行目录**:`/usr/local/publish_dishboard/`
|
||
- **启动命令**:`java -jar app.jar`
|
||
|
||
### 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
|
||
# 前端(静态文件 + Vue Router)
|
||
location /publish_dishboard/ {
|
||
rewrite ^/publish_dishboard(/.*)$ $1 break;
|
||
proxy_pass http://127.0.0.1:30080;
|
||
}
|
||
|
||
# 后端 API
|
||
location /publish_server/ {
|
||
rewrite ^/publish_server(/.*)$ $1 break;
|
||
proxy_pass http://127.0.0.1:30081;
|
||
}
|
||
|
||
# API 代理(前端 useApi.js 的 baseURL: '/api')
|
||
location /api/ {
|
||
rewrite ^/api/(.*) /api/$1 break;
|
||
proxy_pass http://127.0.0.1:30081;
|
||
}
|
||
|
||
# 静态资源(前端 assets)
|
||
location /assets/ {
|
||
alias /usr/local/publish_dishboard/frontend/assets/;
|
||
expires 30d;
|
||
add_header Cache-Control "public, immutable";
|
||
}
|
||
```
|
||
|
||
## 域名访问
|
||
|
||
- 前端:`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`
|