优化
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
# 情绪博物馆后端服务部署说明
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `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/
|
||||
```
|
||||
Reference in New Issue
Block a user