Files
happy-life-star/backend-single/部署说明.md
T
2025-07-25 16:18:33 +08:00

205 lines
4.0 KiB
Markdown

# 情绪博物馆后端服务部署说明
## 文件说明
- `deploy.sh` - 本地打包脚本
- `deploy-server.sh` - 服务器部署脚本
- `/data/programs/emotion-museum/emotion-simple-0.0.1-SNAPSHOT.jar` - 打包后的 JAR 文件
## 部署步骤
### 1. 本地打包
```bash
# 在 backend-single 目录下执行
./deploy.sh
```
### 2. 上传到服务器
将以下文件上传到服务器:
- `/data/programs/emotion-museum/emotion-simple-0.0.1-SNAPSHOT.jar`
- `deploy-server.sh`
### 3. 服务器部署
```bash
# 给脚本添加执行权限
chmod +x deploy-server.sh
# 部署服务(默认操作)
./deploy-server.sh
# 或者指定操作
./deploy-server.sh deploy
```
## 脚本功能
### 主要功能
- **自动停止旧服务** - 安全停止正在运行的服务
- **启动新服务** - 使用生产环境配置启动服务
- **日志管理** - 日志保存到 `/data/logs/emotion-museum/single`
- **状态监控** - 检查服务启动状态和端口监听
- **进程管理** - 使用 PID 文件管理进程
### 命令行参数
```bash
./deploy-server.sh [命令]
可用命令:
deploy - 部署服务(默认)
start - 启动服务
stop - 停止服务
restart - 重启服务
status - 查看服务状态
logs - 查看实时日志
```
## 配置说明
### 环境变量
脚本中的主要配置:
```bash
APP_NAME="emotion-museum-single" # 应用名称
JAR_NAME="emotion-simple-0.0.1-SNAPSHOT.jar" # JAR 文件名
LOG_DIR="/data/logs/emotion-museum/single" # 日志目录
JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC..." # JVM 参数
```
### 日志文件
- `application.log` - 应用运行日志
- `startup.log` - 启动日志
- `heapdump.hprof` - 内存溢出时的堆转储文件
### 生产环境配置
服务启动时使用以下配置:
- `spring.profiles.active=prod` - 激活生产环境配置
- `logging.file.path=/data/logs/emotion-museum/single` - 日志路径
- `logging.file.name=/data/logs/emotion-museum/single/application.log` - 日志文件名
## 使用示例
### 首次部署
```bash
# 1. 上传文件到服务器
scp /data/programs/emotion-museum/emotion-simple-0.0.1-SNAPSHOT.jar user@server:/path/to/app/
scp deploy-server.sh user@server:/path/to/app/
# 2. 登录服务器
ssh user@server
# 3. 进入应用目录
cd /path/to/app
# 4. 添加执行权限
chmod +x deploy-server.sh
# 5. 部署服务
./deploy-server.sh
```
### 日常维护
```bash
# 查看服务状态
./deploy-server.sh status
# 查看实时日志
./deploy-server.sh logs
# 重启服务
./deploy-server.sh restart
# 停止服务
./deploy-server.sh stop
```
## 注意事项
### 1. 权限要求
- 确保脚本有执行权限
- 确保有权限创建 `/data/logs/emotion-museum/single` 目录
- 确保有权限写入日志文件
### 2. 端口配置
- 脚本默认检查 8080 端口
- 如果使用其他端口,请修改脚本中的端口检查逻辑
### 3. Java 环境
- 确保服务器已安装 Java 8 或更高版本
- 确保 `java` 命令在 PATH 中可用
### 4. 内存配置
- 默认配置:最小 512MB,最大 1024MB
- 根据服务器配置调整 `JAVA_OPTS` 中的内存参数
### 5. 日志轮转
建议配置日志轮转,避免日志文件过大:
```bash
# 在 /etc/logrotate.d/ 下创建配置文件
/data/logs/emotion-museum/single/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 644 root root
}
```
## 故障排查
### 1. 服务启动失败
```bash
# 查看启动日志
tail -f /data/logs/emotion-museum/single/startup.log
# 查看应用日志
tail -f /data/logs/emotion-museum/single/application.log
```
### 2. 端口被占用
```bash
# 查看端口占用情况
netstat -tlnp | grep :8080
# 杀死占用端口的进程
kill -9 <PID>
```
### 3. 内存不足
```bash
# 查看内存使用情况
free -h
# 调整 JAVA_OPTS 中的内存参数
```
### 4. 权限问题
```bash
# 检查目录权限
ls -la /data/logs/emotion-museum/single/
# 修改权限
chmod 755 /data/logs/emotion-museum/single/
chown -R user:group /data/logs/emotion-museum/single/
```