86 lines
2.0 KiB
Markdown
86 lines
2.0 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
|
||
# 前端
|
||
location /publish_dishboard {
|
||
proxy_pass http://127.0.0.1:30080/;
|
||
}
|
||
|
||
# 后端 API
|
||
location /publish_server {
|
||
proxy_pass http://127.0.0.1:30081/;
|
||
}
|
||
```
|
||
|
||
## 域名访问
|
||
|
||
- 前端:`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`
|