3.2 KiB
3.2 KiB
管理端宝塔部署指南(无 Nginx 方案)
方案 1:使用 Node.js 运行(推荐)
步骤 1:本地构建
cd e:\ai-clone\ai-clone\admin
npm run build
步骤 2:上传到服务器
将整个 admin 目录上传到服务器,例如:
/www/wwwroot/admin-frontend/
步骤 3:在服务器安装依赖
cd /www/wwwroot/admin-frontend
npm install
npm install -g serve
步骤 4:使用 serve 运行
serve -s dist -l 20002
步骤 5:配置 PM2 守护进程(保持运行)
# 安装 PM2
npm install -g pm2
# 启动服务
pm2 serve dist 20002 --name admin-frontend --spa
# 保存配置
pm2 save
# 设置开机自启
pm2 startup
步骤 6:开放端口
在宝塔面板 -> 安全 -> 放行端口:20002
方案 2:使用 Python SimpleHTTPServer
步骤 1:上传 dist 目录
将构建后的 dist 目录上传到:
/www/wwwroot/admin-frontend/
步骤 2:创建启动脚本
在服务器创建文件 /www/wwwroot/admin-frontend/start.sh:
#!/bin/bash
cd /www/wwwroot/admin-frontend/dist
python3 -m http.server 20002
步骤 3:赋予执行权限
chmod +x /www/wwwroot/admin-frontend/start.sh
步骤 4:使用 PM2 运行
pm2 start /www/wwwroot/admin-frontend/start.sh --name admin-frontend
pm2 save
方案 3:修改后端支持静态文件(最简单)
直接让 Spring Boot 后端同时提供管理端前端页面。
步骤 1:构建前端
cd e:\ai-clone\ai-clone\admin
npm run build
步骤 2:复制 dist 到后端
将 dist 目录下的所有文件复制到:
e:\ai-clone\ai-clone\ai-clone\src\main\resources\static\admin\
步骤 3:访问
访问:http://115.190.167.176:20002/admin/index.html
但这样就不是 20002 端口了。
推荐配置(方案 1 - PM2 + serve)
这是最稳定的方案,步骤如下:
1. 本地构建
cd e:\ai-clone\ai-clone\admin
npm run build
2. 压缩 dist 目录
将 dist 目录压缩为 dist.zip
3. 上传到服务器
使用宝塔面板文件管理,上传到 /www/wwwroot/
4. 解压并创建目录
cd /www/wwwroot
mkdir admin-frontend
cd admin-frontend
unzip ../dist.zip
5. 安装 serve 和 PM2
npm install -g serve pm2
6. 启动服务
cd /www/wwwroot/admin-frontend
pm2 serve dist 20002 --name admin-frontend --spa
pm2 save
pm2 startup
7. 开放端口
宝塔面板 -> 安全 -> 添加端口规则:20002
8. 访问测试
浏览器访问:http://115.190.167.176:20002
PM2 常用命令
# 查看运行状态
pm2 list
# 查看日志
pm2 logs admin-frontend
# 重启服务
pm2 restart admin-frontend
# 停止服务
pm2 stop admin-frontend
# 删除服务
pm2 delete admin-frontend
故障排查
1. 端口被占用
# 查看端口占用
netstat -tunlp | grep 20002
# 杀死进程
kill -9 <PID>
2. 防火墙未开放
# 检查防火墙
firewall-cmd --list-ports
# 开放端口
firewall-cmd --permanent --add-port=20002/tcp
firewall-cmd --reload
3. 页面刷新 404
使用 --spa 参数:
pm2 serve dist 20002 --spa --name admin-frontend