171 lines
3.0 KiB
Markdown
171 lines
3.0 KiB
Markdown
|
|
# 宝塔部署快速配置指南
|
|||
|
|
|
|||
|
|
## 第一次部署前,请在宝塔面板完成以下操作:
|
|||
|
|
|
|||
|
|
### 1. 安装基础服务
|
|||
|
|
|
|||
|
|
登录宝塔面板 → 软件商店 → 安装以下软件:
|
|||
|
|
|
|||
|
|
| 软件 | 版本 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| Nginx | 1.24+ | Web 服务器 |
|
|||
|
|
| MySQL | 8.0+ | 数据库 |
|
|||
|
|
| Redis | 7.x | 缓存 |
|
|||
|
|
| Java | JDK 17 | 运行环境 |
|
|||
|
|
|
|||
|
|
### 2. 创建数据库
|
|||
|
|
|
|||
|
|
宝塔面板 → 数据库 → 添加:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
数据库名:lesingle-edu-reading-platform
|
|||
|
|
用户名:reading_platform
|
|||
|
|
密码:[设置一个强密码,记下来]
|
|||
|
|
权限:全部
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 配置环境变量
|
|||
|
|
|
|||
|
|
复制配置文件模板:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cp .env.prod.template .env.prod
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
编辑 `.env.prod`,填入实际值:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 数据库密码(从宝塔获取)
|
|||
|
|
DB_PASSWORD=你的数据库密码
|
|||
|
|
|
|||
|
|
# JWT 密钥(必须修改)
|
|||
|
|
JWT_SECRET=你的-production-jwt-secret-至少-32-字符
|
|||
|
|
|
|||
|
|
# Redis 密码(如果宝塔设置了)
|
|||
|
|
REDIS_PASSWORD=
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 修改部署脚本配置
|
|||
|
|
|
|||
|
|
编辑 `deploy-backend.sh`,找到环境变量部分,填入你的配置:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 在启动脚本中添加环境变量
|
|||
|
|
export DB_PASSWORD=你的数据库密码
|
|||
|
|
export JWT_SECRET=你的 JWT 密钥
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或者在服务器上创建 `/www/wwwroot/reading-platform/.env` 文件。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 一键部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 方式 1:使用主部署脚本
|
|||
|
|
./deploy.sh root@你的服务器 IP
|
|||
|
|
|
|||
|
|
# 方式 2:分别部署
|
|||
|
|
export REMOTE_HOST=你的服务器 IP
|
|||
|
|
./deploy-backend.sh # 部署后端
|
|||
|
|
./deploy-frontend.sh # 部署前端
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 部署后配置
|
|||
|
|
|
|||
|
|
### 1. 配置 Nginx 反向代理
|
|||
|
|
|
|||
|
|
宝塔面板 → 网站 → 你的网站 → 设置 → 配置文件:
|
|||
|
|
|
|||
|
|
粘贴 `nginx-baota.conf` 中的配置。
|
|||
|
|
|
|||
|
|
### 2. 验证部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# SSH 登录服务器
|
|||
|
|
ssh root@你的服务器 IP
|
|||
|
|
|
|||
|
|
# 检查后端健康状态
|
|||
|
|
curl http://localhost:8480/actuator/health
|
|||
|
|
|
|||
|
|
# 查看后端日志
|
|||
|
|
tail -f /www/wwwroot/reading-platform/logs/app.log
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 访问应用
|
|||
|
|
|
|||
|
|
- 前端:http://你的服务器 IP
|
|||
|
|
- API 文档:http://你的服务器 IP:8480/swagger-ui.html
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 常用命令
|
|||
|
|
|
|||
|
|
### 后端管理
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 登录服务器
|
|||
|
|
ssh root@你的服务器 IP
|
|||
|
|
|
|||
|
|
# 进入目录
|
|||
|
|
cd /www/wwwroot/reading-platform
|
|||
|
|
|
|||
|
|
# 启动
|
|||
|
|
./start.sh
|
|||
|
|
|
|||
|
|
# 停止
|
|||
|
|
./stop.sh
|
|||
|
|
|
|||
|
|
# 查看日志
|
|||
|
|
tail -f logs/app.log
|
|||
|
|
|
|||
|
|
# 查看进程
|
|||
|
|
ps aux | grep app.jar
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端更新
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 本地重新构建并部署
|
|||
|
|
./deploy-frontend.sh root@你的服务器 IP
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 问题排查
|
|||
|
|
|
|||
|
|
### 后端启动失败
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 查看详细日志
|
|||
|
|
tail -100 /www/wwwroot/reading-platform/logs/app.log
|
|||
|
|
|
|||
|
|
# 检查 Java 版本
|
|||
|
|
java -version
|
|||
|
|
|
|||
|
|
# 检查端口占用
|
|||
|
|
netstat -tlnp | grep 8480
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端页面空白
|
|||
|
|
|
|||
|
|
1. 打开浏览器 Console(F12)
|
|||
|
|
2. 查看 Network 标签,检查 API 请求
|
|||
|
|
3. 确认 Nginx 反向代理配置正确
|
|||
|
|
|
|||
|
|
### 数据库连接失败
|
|||
|
|
|
|||
|
|
1. 确认数据库已创建
|
|||
|
|
2. 确认数据库密码正确
|
|||
|
|
3. 确认 MySQL 服务运行中
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 需要帮助?
|
|||
|
|
|
|||
|
|
- 详细部署文档:`DEPLOY_BAOTA.md`
|
|||
|
|
- Nginx 配置:`nginx-baota.conf`
|
|||
|
|
- 环境变量模板:`.env.prod.template`
|