feat :init

This commit is contained in:
2025-11-02 19:34:16 +08:00
commit b767041311
617 changed files with 124099 additions and 0 deletions

102
deploy-springboot.md Normal file
View File

@@ -0,0 +1,102 @@
# 小智ESP32服务器部署脚本说明
本项目提供两个自动化部署脚本用于快速部署后端Java服务和前端Web应用。
## deploy-java.sh - 后端服务部署脚本
### 核心功能
自动化部署Spring Boot后端服务实现智能进程管理和无缝服务重启。
### 主要特性
- **智能JAR文件发现**: 自动在`target`目录中查找最新的JAR文件排除`.original`文件)
- **灵活进程匹配**: 使用应用名称前缀JAR文件名中"-"之前的部分)匹配进程,支持不同版本的应用
- **优雅停止机制**: 先尝试正常终止进程,如果失败则强制杀死进程
- **后台启动**: 使用`nohup`在后台启动服务,输出日志到`output.log`
- **启动状态检查**: 自动验证服务是否成功启动
### 使用方法
```bash
# 给脚本执行权限
chmod +x deploy-java.sh
# 执行部署
./deploy-java.sh
```
### 执行流程
1.`target`目录中查找JAR文件
2. 提取应用名称前缀用于进程匹配
3. 查找并停止正在运行的相关进程
4. 启动新的服务实例
5. 验证服务启动状态
### 前置条件
- 项目已通过`mvn clean package`构建完成
- `target`目录中存在可执行的JAR文件
---
## deploy-web.sh - 前端应用部署脚本
### 核心功能
自动化构建和部署Vue.js前端应用实现安全的生产环境更新。
### 主要特性
- **自动构建**: 执行`npm run build`构建生产版本
- **安全备份**: 部署前自动备份现有的生产文件到`/tmp/dist_backup`
- **无缝部署**: 将新构建的文件部署到`/var/www/html/dist`
- **Nginx重载**: 自动测试和重载Nginx配置确保服务连续性
### 使用方法
```bash
# 给脚本执行权限
chmod +x deploy-web.sh
# 执行部署
./deploy-web.sh
```
### 执行流程
1. 进入`web`目录
2. 执行`npm run build`构建前端应用
3. 备份现有的部署文件(如果存在)
4. 将新构建的文件移动到生产目录
5. 测试并重载Nginx配置
### 前置条件
- Node.js和npm已正确安装
- `web`目录中的依赖包已安装(`npm install`
- Nginx服务正在运行
- 具有`/var/www/html`目录的写入权限
---
## 快速部署
### 完整部署流程
```bash
# 1. 构建后端项目
mvn clean package -DskipTests
# 2. 部署后端服务
./deploy-java.sh
# 3. 部署前端应用
./deploy-web.sh
```
### 服务验证
```bash
# 检查后端服务状态
ps -ef | grep xiaozhi.server
# 检查前端部署
ls -la /var/www/html/dist
# 查看服务日志
tail -f output.log
```
---
*最后更新: 2024年12月*