4.0 KiB
4.0 KiB
情绪博物馆后端服务部署说明
文件说明
deploy.sh- 本地打包脚本deploy-server.sh- 服务器部署脚本/data/programs/emotion-museum/emotion-simple-0.0.1-SNAPSHOT.jar- 打包后的 JAR 文件
部署步骤
1. 本地打包
# 在 backend-single 目录下执行
./deploy.sh
2. 上传到服务器
将以下文件上传到服务器:
/data/programs/emotion-museum/emotion-simple-0.0.1-SNAPSHOT.jardeploy-server.sh
3. 服务器部署
# 给脚本添加执行权限
chmod +x deploy-server.sh
# 部署服务(默认操作)
./deploy-server.sh
# 或者指定操作
./deploy-server.sh deploy
脚本功能
主要功能
- 自动停止旧服务 - 安全停止正在运行的服务
- 启动新服务 - 使用生产环境配置启动服务
- 日志管理 - 日志保存到
/data/logs/emotion-museum/single - 状态监控 - 检查服务启动状态和端口监听
- 进程管理 - 使用 PID 文件管理进程
命令行参数
./deploy-server.sh [命令]
可用命令:
deploy - 部署服务(默认)
start - 启动服务
stop - 停止服务
restart - 重启服务
status - 查看服务状态
logs - 查看实时日志
配置说明
环境变量
脚本中的主要配置:
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- 日志文件名
使用示例
首次部署
# 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
日常维护
# 查看服务状态
./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. 日志轮转
建议配置日志轮转,避免日志文件过大:
# 在 /etc/logrotate.d/ 下创建配置文件
/data/logs/emotion-museum/single/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 644 root root
}
故障排查
1. 服务启动失败
# 查看启动日志
tail -f /data/logs/emotion-museum/single/startup.log
# 查看应用日志
tail -f /data/logs/emotion-museum/single/application.log
2. 端口被占用
# 查看端口占用情况
netstat -tlnp | grep :8080
# 杀死占用端口的进程
kill -9 <PID>
3. 内存不足
# 查看内存使用情况
free -h
# 调整 JAVA_OPTS 中的内存参数
4. 权限问题
# 检查目录权限
ls -la /data/logs/emotion-museum/single/
# 修改权限
chmod 755 /data/logs/emotion-museum/single/
chown -R user:group /data/logs/emotion-museum/single/