chore: add project analysis doc, clean up legacy scripts, update docs
- Add comprehensive project analysis document (项目分析文档.md) - Add Windows startup guide and batch script - Replace legacy startup scripts with run_production.py (Waitress) - Remove deprecated bat scripts and duplicate run files - Update .env.example, README.md, and docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,259 +0,0 @@
|
||||
# Windows 服务配置总结
|
||||
|
||||
## ✅ 配置完成状态
|
||||
|
||||
Flask 提示词大师应用已成功配置为 Windows 服务,支持开机自启动和后台运行。
|
||||
|
||||
## 📦 已创建的文件
|
||||
|
||||
### 核心服务文件
|
||||
|
||||
1. **`simple_windows_service.py`** ✅
|
||||
- 简化版 Windows 服务脚本
|
||||
- 使用 Windows 任务计划程序实现开机自启动
|
||||
- 支持服务启动、安装、删除功能
|
||||
|
||||
2. **`install_startup.bat`** ✅
|
||||
- 开机启动安装脚本
|
||||
- 需要管理员权限运行
|
||||
- 自动配置环境变量
|
||||
|
||||
3. **`simple_service_manager.bat`** ✅
|
||||
- 服务管理脚本
|
||||
- 提供图形化菜单操作
|
||||
- 支持启动、安装、删除、状态查询
|
||||
|
||||
### 配置文件
|
||||
|
||||
4. **`requirements.txt`** ✅
|
||||
- 更新了依赖包列表
|
||||
- 添加了 `pywin32` 和 `requests` 依赖
|
||||
|
||||
5. **`docs/development/Windows服务配置指南.md`** ✅
|
||||
- 详细的服务配置指南
|
||||
- 包含安装、管理、故障排除说明
|
||||
|
||||
## 🚀 服务特点
|
||||
|
||||
### ✅ 已实现功能
|
||||
|
||||
1. **开机自启动** ✅
|
||||
- 使用 Windows 任务计划程序
|
||||
- 系统启动时自动运行
|
||||
- 无需用户登录
|
||||
|
||||
2. **后台运行** ✅
|
||||
- 服务在后台持续运行
|
||||
- 支持多线程处理
|
||||
- 自动错误恢复
|
||||
|
||||
3. **日志记录** ✅
|
||||
- 详细的服务运行日志
|
||||
- 日志文件位置:`logs/simple_service.log`
|
||||
- 支持日志轮转
|
||||
|
||||
4. **环境配置** ✅
|
||||
- 自动设置生产环境变量
|
||||
- 配置 Python 路径
|
||||
- 支持虚拟环境
|
||||
|
||||
5. **健康检查** ✅
|
||||
- 服务状态监控
|
||||
- 自动健康检查
|
||||
- 错误报告机制
|
||||
|
||||
## 📋 使用方法
|
||||
|
||||
### 安装开机启动
|
||||
|
||||
1. **以管理员身份运行**:
|
||||
```bash
|
||||
# 右键点击 install_startup.bat
|
||||
# 选择"以管理员身份运行"
|
||||
```
|
||||
|
||||
2. **或使用命令行**:
|
||||
```bash
|
||||
python simple_windows_service.py install
|
||||
```
|
||||
|
||||
### 启动服务
|
||||
|
||||
1. **使用管理脚本**:
|
||||
```bash
|
||||
simple_service_manager.bat
|
||||
# 选择选项 1 启动服务
|
||||
```
|
||||
|
||||
2. **或使用命令行**:
|
||||
```bash
|
||||
python simple_windows_service.py start
|
||||
```
|
||||
|
||||
### 管理服务
|
||||
|
||||
```bash
|
||||
# 查看任务状态
|
||||
schtasks /query /tn "FlaskPromptMasterStartup"
|
||||
|
||||
# 删除开机启动任务
|
||||
python simple_windows_service.py remove
|
||||
|
||||
# 启动服务
|
||||
python simple_windows_service.py start
|
||||
```
|
||||
|
||||
## 🔧 技术实现
|
||||
|
||||
### 服务架构
|
||||
|
||||
1. **任务计划程序**
|
||||
- 使用 `schtasks` 命令创建系统任务
|
||||
- 触发条件:系统启动时
|
||||
- 运行账户:SYSTEM
|
||||
|
||||
2. **Flask 应用**
|
||||
- 生产环境配置
|
||||
- 多线程支持
|
||||
- 健康检查接口
|
||||
|
||||
3. **日志系统**
|
||||
- 文件日志和控制台日志
|
||||
- 自动创建日志目录
|
||||
- 支持中文编码
|
||||
|
||||
### 环境配置
|
||||
|
||||
```bash
|
||||
# 环境变量
|
||||
FLASK_ENV=production
|
||||
PYTHONPATH=项目根目录
|
||||
|
||||
# 虚拟环境
|
||||
.venv\Scripts\Activate.bat
|
||||
|
||||
# 依赖包
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## 📊 服务状态
|
||||
|
||||
### 当前运行状态
|
||||
|
||||
- **服务状态**:✅ 运行中
|
||||
- **访问地址**:`http://localhost:5000`
|
||||
- **健康检查**:✅ 正常
|
||||
- **环境**:production
|
||||
- **端口**:5000
|
||||
|
||||
### 任务计划状态
|
||||
|
||||
- **任务名称**:`FlaskPromptMasterStartup`
|
||||
- **触发条件**:系统启动时
|
||||
- **运行账户**:SYSTEM
|
||||
- **状态**:待安装(需要管理员权限)
|
||||
|
||||
## 🎯 下一步建议
|
||||
|
||||
### 立即可执行
|
||||
|
||||
1. **安装开机启动**:
|
||||
- 以管理员身份运行 `install_startup.bat`
|
||||
- 验证任务计划创建成功
|
||||
|
||||
2. **测试服务功能**:
|
||||
- 访问 `http://localhost:5000`
|
||||
- 测试所有功能模块
|
||||
- 检查日志文件
|
||||
|
||||
3. **配置防火墙**:
|
||||
- 允许端口 5000 的入站连接
|
||||
- 配置网络安全规则
|
||||
|
||||
### 可选优化
|
||||
|
||||
1. **性能监控**:
|
||||
- 配置服务监控工具
|
||||
- 设置性能告警
|
||||
|
||||
2. **日志管理**:
|
||||
- 配置日志轮转
|
||||
- 设置日志清理策略
|
||||
|
||||
3. **备份策略**:
|
||||
- 备份配置文件
|
||||
- 设置自动备份
|
||||
|
||||
## 🔒 安全考虑
|
||||
|
||||
1. **权限管理**
|
||||
- 服务以 SYSTEM 账户运行
|
||||
- 最小权限原则
|
||||
|
||||
2. **网络安全**
|
||||
- 配置防火墙规则
|
||||
- 限制访问来源
|
||||
|
||||
3. **日志安全**
|
||||
- 避免记录敏感信息
|
||||
- 定期清理日志
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **权限不足**
|
||||
- 确保以管理员身份运行安装脚本
|
||||
- 检查用户账户权限
|
||||
|
||||
2. **端口冲突**
|
||||
- 检查端口 5000 是否被占用
|
||||
- 修改服务脚本中的端口号
|
||||
|
||||
3. **服务启动失败**
|
||||
- 查看日志文件获取错误信息
|
||||
- 检查环境变量配置
|
||||
|
||||
### 调试方法
|
||||
|
||||
1. **查看服务日志**:
|
||||
```bash
|
||||
type logs\simple_service.log
|
||||
```
|
||||
|
||||
2. **检查任务状态**:
|
||||
```bash
|
||||
schtasks /query /tn "FlaskPromptMasterStartup"
|
||||
```
|
||||
|
||||
3. **手动测试服务**:
|
||||
```bash
|
||||
python simple_windows_service.py start
|
||||
```
|
||||
|
||||
## 📈 性能指标
|
||||
|
||||
### 当前性能
|
||||
|
||||
- **启动时间**:< 5 秒
|
||||
- **内存使用**:约 50MB
|
||||
- **响应时间**:< 100ms
|
||||
- **并发支持**:多线程
|
||||
|
||||
### 优化建议
|
||||
|
||||
1. **内存优化**
|
||||
- 监控内存使用情况
|
||||
- 配置内存限制
|
||||
|
||||
2. **连接优化**
|
||||
- 配置数据库连接池
|
||||
- 优化网络连接
|
||||
|
||||
3. **缓存策略**
|
||||
- 启用 Redis 缓存
|
||||
- 配置静态文件缓存
|
||||
|
||||
---
|
||||
|
||||
**总结**:Windows 服务配置已完成,应用现在可以作为系统服务运行,支持开机自启动和后台运行。所有核心功能都已实现并测试通过。🎉
|
||||
@@ -1,248 +0,0 @@
|
||||
# Windows 服务配置指南
|
||||
|
||||
## 📋 概述
|
||||
|
||||
本指南介绍如何将 Flask 提示词大师应用配置为 Windows 系统服务,实现开机自启动和后台运行。
|
||||
|
||||
## 🎯 服务特点
|
||||
|
||||
- **开机自启动**:系统启动时自动运行
|
||||
- **后台运行**:无需用户登录即可运行
|
||||
- **自动重启**:服务异常时自动重启
|
||||
- **日志记录**:详细的服务运行日志
|
||||
- **权限管理**:支持系统级权限运行
|
||||
|
||||
## 📦 文件说明
|
||||
|
||||
### 核心文件
|
||||
|
||||
1. **`flask_prompt_master_service.py`**
|
||||
- Windows 服务主程序
|
||||
- 继承 `win32serviceutil.ServiceFramework`
|
||||
- 实现服务的启动、停止、重启功能
|
||||
|
||||
2. **`install_service.bat`**
|
||||
- 服务安装脚本
|
||||
- 需要管理员权限运行
|
||||
- 自动配置环境变量
|
||||
|
||||
3. **`service_manager.bat`**
|
||||
- 服务管理脚本
|
||||
- 提供图形化菜单操作
|
||||
- 支持启动、停止、重启、状态查询
|
||||
|
||||
## 🚀 安装步骤
|
||||
|
||||
### 步骤一:准备环境
|
||||
|
||||
1. **确保虚拟环境已激活**
|
||||
```bash
|
||||
.venv\Scripts\Activate.bat
|
||||
```
|
||||
|
||||
2. **安装依赖**
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
3. **检查管理员权限**
|
||||
- 右键点击 `install_service.bat`
|
||||
- 选择"以管理员身份运行"
|
||||
|
||||
### 步骤二:安装服务
|
||||
|
||||
1. **运行安装脚本**
|
||||
```bash
|
||||
install_service.bat
|
||||
```
|
||||
|
||||
2. **验证安装**
|
||||
- 打开"服务"管理器(services.msc)
|
||||
- 查找"Flask 提示词大师服务"
|
||||
- 确认服务已安装
|
||||
|
||||
### 步骤三:启动服务
|
||||
|
||||
1. **使用管理脚本**
|
||||
```bash
|
||||
service_manager.bat
|
||||
```
|
||||
选择选项 1 启动服务
|
||||
|
||||
2. **或使用命令行**
|
||||
```bash
|
||||
python flask_prompt_master_service.py start
|
||||
```
|
||||
|
||||
## 🛠️ 服务管理
|
||||
|
||||
### 使用图形化菜单
|
||||
|
||||
运行 `service_manager.bat`,选择相应操作:
|
||||
|
||||
- **1. 启动服务**:启动 Flask 应用服务
|
||||
- **2. 停止服务**:停止运行中的服务
|
||||
- **3. 重启服务**:重启服务(停止后启动)
|
||||
- **4. 查看状态**:查询服务运行状态
|
||||
- **5. 删除服务**:从系统中删除服务
|
||||
- **6. 退出**:退出管理菜单
|
||||
|
||||
### 使用命令行
|
||||
|
||||
```bash
|
||||
# 启动服务
|
||||
python flask_prompt_master_service.py start
|
||||
|
||||
# 停止服务
|
||||
python flask_prompt_master_service.py stop
|
||||
|
||||
# 重启服务
|
||||
python flask_prompt_master_service.py restart
|
||||
|
||||
# 查看状态
|
||||
python flask_prompt_master_service.py status
|
||||
|
||||
# 删除服务
|
||||
python flask_prompt_master_service.py remove
|
||||
```
|
||||
|
||||
## 📊 服务配置
|
||||
|
||||
### 服务信息
|
||||
|
||||
- **服务名称**:`FlaskPromptMaster`
|
||||
- **显示名称**:`Flask 提示词大师服务`
|
||||
- **描述**:`Flask 提示词大师 Web 应用服务,提供提示词生成功能`
|
||||
- **启动类型**:自动(开机启动)
|
||||
- **登录身份**:本地系统账户
|
||||
|
||||
### 端口配置
|
||||
|
||||
- **监听地址**:`0.0.0.0`(所有网络接口)
|
||||
- **端口号**:`5000`
|
||||
- **访问地址**:`http://localhost:5000`
|
||||
|
||||
## 📝 日志管理
|
||||
|
||||
### 日志位置
|
||||
|
||||
- **服务日志**:`logs/service.log`
|
||||
- **应用日志**:`logs/` 目录下的其他日志文件
|
||||
|
||||
### 日志内容
|
||||
|
||||
- 服务启动/停止事件
|
||||
- 应用运行状态
|
||||
- 错误和异常信息
|
||||
- 健康检查结果
|
||||
|
||||
## 🔧 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **服务启动失败**
|
||||
- 检查端口 5000 是否被占用
|
||||
- 确认环境变量配置正确
|
||||
- 查看服务日志获取详细错误信息
|
||||
|
||||
2. **权限不足**
|
||||
- 确保以管理员身份运行安装脚本
|
||||
- 检查服务账户权限设置
|
||||
|
||||
3. **依赖缺失**
|
||||
- 确认所有 Python 包已安装
|
||||
- 检查虚拟环境是否正确激活
|
||||
|
||||
4. **端口冲突**
|
||||
- 修改 `flask_prompt_master_service.py` 中的端口号
|
||||
- 或停止占用端口的其他服务
|
||||
|
||||
### 调试方法
|
||||
|
||||
1. **查看服务日志**
|
||||
```bash
|
||||
type logs\service.log
|
||||
```
|
||||
|
||||
2. **手动测试服务**
|
||||
```bash
|
||||
python flask_prompt_master_service.py debug
|
||||
```
|
||||
|
||||
3. **检查服务状态**
|
||||
```bash
|
||||
sc query FlaskPromptMaster
|
||||
```
|
||||
|
||||
## 🔒 安全考虑
|
||||
|
||||
1. **权限最小化**
|
||||
- 服务以本地系统账户运行
|
||||
- 避免使用管理员权限
|
||||
|
||||
2. **网络安全**
|
||||
- 配置防火墙规则
|
||||
- 限制访问来源
|
||||
|
||||
3. **日志安全**
|
||||
- 定期清理日志文件
|
||||
- 避免记录敏感信息
|
||||
|
||||
## 📈 性能优化
|
||||
|
||||
1. **内存管理**
|
||||
- 监控服务内存使用
|
||||
- 配置适当的内存限制
|
||||
|
||||
2. **连接池**
|
||||
- 配置数据库连接池
|
||||
- 优化网络连接
|
||||
|
||||
3. **缓存策略**
|
||||
- 启用 Redis 缓存
|
||||
- 配置静态文件缓存
|
||||
|
||||
## 🔄 更新维护
|
||||
|
||||
### 服务更新
|
||||
|
||||
1. **停止服务**
|
||||
```bash
|
||||
python flask_prompt_master_service.py stop
|
||||
```
|
||||
|
||||
2. **更新代码**
|
||||
- 替换相关文件
|
||||
- 更新依赖包
|
||||
|
||||
3. **重启服务**
|
||||
```bash
|
||||
python flask_prompt_master_service.py start
|
||||
```
|
||||
|
||||
### 定期维护
|
||||
|
||||
1. **日志清理**
|
||||
- 定期清理旧日志文件
|
||||
- 监控日志文件大小
|
||||
|
||||
2. **性能监控**
|
||||
- 监控服务响应时间
|
||||
- 检查资源使用情况
|
||||
|
||||
3. **备份配置**
|
||||
- 备份服务配置文件
|
||||
- 保存环境变量设置
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如遇到问题,请:
|
||||
|
||||
1. 查看服务日志文件
|
||||
2. 检查系统事件日志
|
||||
3. 确认环境配置正确
|
||||
4. 联系技术支持团队
|
||||
|
||||
---
|
||||
|
||||
**注意**:本服务配置仅适用于 Windows 系统,其他操作系统请参考相应的服务配置方法。
|
||||
@@ -1,205 +0,0 @@
|
||||
# Windows 生产环境部署指南
|
||||
|
||||
## 📋 概述
|
||||
|
||||
本指南介绍如何在 Windows 环境下部署 Flask 提示词大师应用的生产环境。
|
||||
|
||||
## 🎯 部署方案
|
||||
|
||||
### 方案一:Waitress 服务器(推荐)
|
||||
|
||||
Waitress 是一个纯 Python 的 WSGI 服务器,完全兼容 Windows 环境。
|
||||
|
||||
#### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
#### 2. 启动生产环境
|
||||
|
||||
**方法一:使用 Python 脚本**
|
||||
```bash
|
||||
python run_production.py
|
||||
```
|
||||
|
||||
**方法二:使用批处理文件**
|
||||
```bash
|
||||
start_production.bat
|
||||
```
|
||||
|
||||
#### 3. 停止服务器
|
||||
|
||||
**方法一:Ctrl+C**
|
||||
在运行窗口按 `Ctrl+C` 停止服务器
|
||||
|
||||
**方法二:使用批处理文件**
|
||||
```bash
|
||||
stop_production.bat
|
||||
```
|
||||
|
||||
## ⚙️ 配置说明
|
||||
|
||||
### 环境变量配置
|
||||
|
||||
生产环境需要设置以下环境变量:
|
||||
|
||||
```bash
|
||||
# 设置生产环境
|
||||
set FLASK_ENV=production
|
||||
|
||||
# 数据库配置
|
||||
set DATABASE_URL=mysql+pymysql://root:123456@localhost:3306/pro_db?charset=utf8mb4
|
||||
|
||||
# API 配置
|
||||
set LLM_API_URL=https://api.deepseek.com/v1
|
||||
set LLM_API_KEY=your-actual-api-key
|
||||
|
||||
# 微信小程序配置
|
||||
set WX_APPID=your-wx-appid
|
||||
set WX_SECRET=your-wx-secret
|
||||
|
||||
# 安全配置
|
||||
set SECRET_KEY=your-secret-key
|
||||
```
|
||||
|
||||
### 服务器配置
|
||||
|
||||
Waitress 服务器配置(在 `run_production.py` 中):
|
||||
|
||||
```python
|
||||
serve(
|
||||
app,
|
||||
host='0.0.0.0', # 监听所有网络接口
|
||||
port=5000, # 端口号
|
||||
threads=4, # 线程数
|
||||
connection_limit=1000, # 连接限制
|
||||
cleanup_interval=30, # 清理间隔
|
||||
channel_timeout=120, # 通道超时
|
||||
max_request_body_size=1073741824, # 最大请求体大小(1GB)
|
||||
)
|
||||
```
|
||||
|
||||
## 📊 性能优化
|
||||
|
||||
### 1. 数据库优化
|
||||
|
||||
- 使用连接池
|
||||
- 配置适当的索引
|
||||
- 定期清理日志表
|
||||
|
||||
### 2. 缓存策略
|
||||
|
||||
- 启用 Redis 缓存
|
||||
- 配置模板缓存
|
||||
- 实现 API 响应缓存
|
||||
|
||||
### 3. 日志管理
|
||||
|
||||
- 配置日志轮转
|
||||
- 设置日志级别
|
||||
- 监控错误日志
|
||||
|
||||
## 🔒 安全配置
|
||||
|
||||
### 1. 网络安全
|
||||
|
||||
- 配置防火墙规则
|
||||
- 使用 HTTPS
|
||||
- 限制访问 IP
|
||||
|
||||
### 2. 应用安全
|
||||
|
||||
- 启用 CSRF 保护
|
||||
- 配置 CORS 策略
|
||||
- 输入验证和过滤
|
||||
|
||||
### 3. 数据安全
|
||||
|
||||
- 数据库访问控制
|
||||
- 敏感信息加密
|
||||
- 定期备份
|
||||
|
||||
## 📈 监控和维护
|
||||
|
||||
### 1. 健康检查
|
||||
|
||||
访问健康检查接口:
|
||||
```
|
||||
GET http://localhost:5000/health
|
||||
```
|
||||
|
||||
### 2. 日志监控
|
||||
|
||||
- 应用日志:`logs/app.log`
|
||||
- 访问日志:`logs/access.log`
|
||||
- 错误日志:`logs/error.log`
|
||||
|
||||
### 3. 性能监控
|
||||
|
||||
- CPU 使用率
|
||||
- 内存使用情况
|
||||
- 响应时间
|
||||
- 并发连接数
|
||||
|
||||
## 🚀 部署脚本
|
||||
|
||||
### 启动脚本
|
||||
|
||||
`start_production.bat` - 生产环境启动脚本
|
||||
|
||||
### 停止脚本
|
||||
|
||||
`stop_production.bat` - 生产环境停止脚本
|
||||
|
||||
### 部署脚本
|
||||
|
||||
`deploy.sh` - 自动化部署脚本(Linux 环境)
|
||||
|
||||
## 🔧 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **端口被占用**
|
||||
```bash
|
||||
netstat -ano | findstr :5000
|
||||
taskkill /PID <进程ID> /F
|
||||
```
|
||||
|
||||
2. **数据库连接失败**
|
||||
- 检查数据库服务状态
|
||||
- 验证连接字符串
|
||||
- 确认网络连接
|
||||
|
||||
3. **API 调用失败**
|
||||
- 检查 API 密钥配置
|
||||
- 验证网络连接
|
||||
- 查看错误日志
|
||||
|
||||
### 日志分析
|
||||
|
||||
```bash
|
||||
# 查看应用日志
|
||||
type logs\app.log
|
||||
|
||||
# 查看错误日志
|
||||
type logs\error.log
|
||||
|
||||
# 实时监控日志
|
||||
Get-Content logs\app.log -Wait
|
||||
```
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如遇到问题,请:
|
||||
|
||||
1. 查看日志文件
|
||||
2. 检查配置参数
|
||||
3. 验证环境变量
|
||||
4. 联系技术支持
|
||||
|
||||
---
|
||||
|
||||
**版本**: 1.0
|
||||
**更新日期**: 2025-08-17
|
||||
**维护者**: 开发团队
|
||||
@@ -4,21 +4,15 @@
|
||||
|
||||
### 1. 启动监控系统
|
||||
|
||||
#### 方法一:使用批处理脚本(推荐)
|
||||
```bash
|
||||
# 双击运行或在命令行执行
|
||||
start_monitor.bat
|
||||
```
|
||||
在项目根目录激活虚拟环境后执行:
|
||||
|
||||
#### 方法二:直接使用Python
|
||||
```bash
|
||||
# 激活虚拟环境
|
||||
.venv\Scripts\Activate.ps1
|
||||
|
||||
# 启动监控管理器
|
||||
python monitor_manager.py
|
||||
```
|
||||
|
||||
(应用本机启停见仓库根目录 `windows上唯一启动说明.md` 与 `windows启动.bat`。)
|
||||
|
||||
### 2. 基本操作
|
||||
|
||||
启动后,您将看到交互式界面,可以输入以下命令:
|
||||
@@ -199,7 +193,7 @@ schtasks /delete /tn "FlaskMonitor" /f
|
||||
### 2. 服务集成
|
||||
|
||||
#### 与Windows服务集成
|
||||
可以将监控脚本集成到现有的Windows服务中:
|
||||
应用安装为系统服务见仓库根目录 `windows上唯一启动说明.md`(`flask_prompt_master_service.py` / `simple_windows_service.py`)。监控可与之配合:
|
||||
|
||||
1. 修改 `simple_windows_service.py`
|
||||
2. 在服务启动时自动启动监控
|
||||
|
||||
Reference in New Issue
Block a user