Files

2.7 KiB
Raw Permalink Blame History

AI 发布平台 - 部署说明

快速打包

# 方式一:双击运行
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 反向代理

# 前端(静态文件 + 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";
}

# 上传文件(后端存储的封面图等)
location /uploads/ {
    proxy_pass http://127.0.0.1:30081/uploads/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

域名访问

  • 前端:https://www.1415243231.top/publish_dishboard
  • 后端:https://www.1415243231.top/publish_server

数据库权限

如果遇到 Permission denied on database.db

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