# Cursor自动化服务部署指南 本文档详细说明如何在新服务器上从零开始部署Cursor自动化服务,包括环境准备、数据库配置、服务启动等各个步骤。 ## 系统要求 - **操作系统**: Linux (推荐Ubuntu/Debian),也支持Windows和macOS - **Python版本**: 3.7+ - **数据库**: MySQL 5.7+ 或 MariaDB 10+ - **缓存系统**: Redis 5+ (可选但推荐) - **内存**: 至少2GB RAM - **存储**: 至少1GB可用空间 - **网络**: 稳定的互联网连接 ## 部署流程概述 1. 安装必要的系统依赖 2. 准备Python环境 3. 下载代码并安装依赖 4. 配置和初始化数据库 5. 导入邮箱账号 6. 启动服务 7. 设置为系统服务(可选) ## 详细部署步骤 ### 1. 安装必要的系统依赖 #### Ubuntu/Debian系统: ```bash # 更新系统包 sudo apt update # 安装Python、MySQL和Redis sudo apt install -y python3 python3-venv python3-full mysql-server redis-server # 安装pip和开发库 sudo apt install -y python3-pip python3-dev default-libmysqlclient-dev build-essential ``` #### CentOS/RHEL系统: ```bash # 安装Python sudo yum install -y python3 python3-devel # 安装MySQL sudo yum install -y mariadb-server mariadb-devel # 安装Redis sudo yum install -y redis # 启动服务 sudo systemctl start mariadb sudo systemctl start redis sudo systemctl enable mariadb sudo systemctl enable redis ``` ### 2. 准备Python环境 ```bash # 创建项目目录 mkdir -p /opt/cursor-service cd /opt/cursor-service sudo apt install python3-venv python3-full # 创建并激活虚拟环境 python3 -m venv venv source venv/bin/activate ``` ### 3. 下载代码并安装依赖 ```bash # 下载代码(示例使用git,也可以直接上传文件) git clone https://your-repo-url.git . # 或者直接解压上传的zip文件 # 安装依赖 pip install -r requirements.txt pip install cryptography # 确保安装cryptography包 ``` ### 4. 配置和初始化数据库 我们提供了两种初始化数据库的方式: #### 方式一:使用交互式设置向导(推荐) ```bash # 修复可能的MySQL格式化问题 python fix_setup.py # 运行设置向导 python setup_environment.py ``` 设置向导将引导您完成: - 配置服务器标识 - 设置MySQL数据库连接信息 - 配置Redis(可选) - 创建数据库和表结构 #### 方式二:手动执行初始化脚本 ```bash # 直接运行数据库初始化脚本 python init_database.py ``` 脚本会交互式地询问: - MySQL root用户名和密码 - 应用数据库名和用户信息 - Redis配置(可选) ### 5. 导入邮箱账号 ```bash # 准备email.txt文件,格式为: # email@example.com----密码----client_id----refresh_token # 运行导入脚本 python import_emails.py ``` ### 6. 启动服务 有多种方式可以启动服务: #### 方式一:使用统一管理脚本(推荐) ```bash # 启用并启动服务 python start.py --enable # 或者直接启动(会根据数据库中的启用状态决定是否启动服务) python start.py ``` #### 方式二:直接启动自动服务 ```bash # 直接启动自动化服务 python auto_cursor_service.py ``` #### 方式三:仅运行注册进程 ```bash # 仅启动注册进程 python main.py ``` ### 7. 设置为系统服务(可选但推荐) #### 创建系统服务文件: ```bash sudo nano /etc/systemd/system/cursor-service.service ``` 添加以下内容: ```ini [Unit] Description=Cursor Auto Registration Service After=network.target mysql.service redis.service [Service] Type=simple User=your_username WorkingDirectory=/opt/cursor-service ExecStart=/opt/cursor-service/venv/bin/python start.py Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ``` #### 启动并设置开机自启: ```bash sudo systemctl daemon-reload sudo systemctl start cursor-service sudo systemctl enable cursor-service ``` ## 管理服务 ### 检查服务状态 ```bash # 查看服务状态 python start.py --status # 如果设置为系统服务,可以使用 sudo systemctl status cursor-service ``` ### 启用/禁用服务 ```bash # 启用服务 python start.py --enable # 禁用服务 python start.py --disable ``` ### 手动上传账号 ```bash python start.py --upload ``` ## 数据库升级 如果您从旧版本升级,需要运行数据库升级脚本: ```bash python upgrade_database.py ``` 这会添加新的`extracted`字段和相关索引,以支持账号上传功能。 ## 监控与故障排除 ### 日志文件 主要日志文件: - `auto_cursor_service.log` - 自动服务日志 - `upload_accounts.log` - 账号上传日志 - `register.log` - 注册进程日志 ### 常见问题解决 1. **数据库连接失败** - 检查MySQL服务是否运行: `sudo systemctl status mysql` - 验证数据库用户名和密码是否正确 2. **Redis连接失败** - 检查Redis服务是否运行: `sudo systemctl status redis` - 如不需要Redis,可在config.yaml中设置`use_redis: false` 3. **服务无法启动** - 检查日志文件中的具体错误信息 - 确保所有依赖包都已安装: `pip install -r requirements.txt` 4. **账号注册失败率高** - 检查网络连接和代理设置 - 查看注册日志中的具体错误信息 5. **邮箱账号不足** - 手动导入更多邮箱账号: `python import_emails.py` - 检查API获取邮箱是否正常 ## 备份与维护 建议定期备份数据库: ```bash # MySQL备份 mysqldump -u [用户名] -p [数据库名] > backup_$(date +%Y%m%d).sql ``` ## 安全考虑 1. 使用强密码保护数据库 2. 限制MySQL和Redis只接受本地连接 3. 保护config.yaml文件,不要泄露API密钥和数据库密码 4. 定期更新系统和依赖包 ## 更新服务 更新服务代码后,请按以下步骤操作: 1. 停止服务: `python start.py --disable` 或 `sudo systemctl stop cursor-service` 2. 更新代码 3. 如有新的依赖,安装: `pip install -r requirements.txt` 4. 如有数据库结构变更,运行升级脚本: `python upgrade_database.py` 5. 重新启动服务: `python start.py --enable` 或 `sudo systemctl start cursor-service`